[問題] 如何壓縮頻譜圖的頻率 (DSP問題)

作者: abcdeffg (你快樂我也快樂)   2015-06-29 19:02:49
大家好
我現在正在研究一個聲檔
用Matlab繪出頻譜圖如下
http://imgur.com/HtSEkVe
[y, fs]=wavread(fileName);
s=60; % s: sampling length
Sample=s*fs; % fs: original sampling frequency
NFFT=2^nextpow2(Sample);
Y=fft(y,NFFT)/Sample;
f=fs/2*linspace(0,1,NFFT/2+1);
% Plot single-sided amplitude spectrum.
figure(1)
plot(f,2*abs(Y(1:NFFT/2+1)))
現在我想要操作音檔,使新的音檔保留同樣的頻譜圖形狀,但是壓縮頻率成1/4,
(有點像是線性地壓縮)
新音檔的頻譜圖變成下面的圖形
http://imgur.com/Csorr3V
我有試過直接降頻
但是降頻1/4會破壞掉形狀,並不是我要的
所以想請問有沒有人知道正確的作法?
以上感謝看完~
作者: s4300026 (s4300026)   2015-06-29 21:21:00
lowpass filter 不行嗎?那就是 moving average了說錯~~~ 囧 別理我for kk=1 :壓縮率: length-壓縮率new_data = mean(data(kk:kk+壓縮率-1));end //for的邊界需要微調,因為我的要求沒有很精準不然直接調X軸間距好像也可以...以上是在頻域圖的調法,如果是時域軸,fs=fs/4;試試看
作者: banco (Acoustic)   2015-07-03 08:37:00
"不過轉換不回去時域" <-- phase也要跟著處理

Links booklink

Contact Us: admin [ a t ] ucptt.com