91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 5KB
    文件類型: .m
    金幣: 1
    下載: 0 次
    發(fā)布日期: 2023-05-18
  • 語言: Matlab
  • 標(biāo)簽:

資源簡介

主要對不同窗函數(shù)加窗效果進(jìn)行比較,驗證選擇合適的窗函數(shù)進(jìn)行加窗變換是語言信號處理的一種有效方法。分別用矩形窗、漢納窗、漢明窗、布萊克曼窗對采集的原始語音信號進(jìn)行窗寬為N 的加窗FFT變換,得到利用不同窗函數(shù)對語音信號進(jìn)行加窗FFT變換后的信號頻譜圖。觀察不同窗函數(shù)的加窗效果,分析窗函數(shù)的適用情況。

資源截圖

代碼片段和文件信息

%讀取語音信號,頻譜分析
[xfsbits]=wavread(‘C:\Users\mm\Desktop\語音信號\music1.wav‘);
n=length(x)
X=fft(xn);
figure;plot(x);title(‘語音信號波形‘);
figure;plot(abs(X));title(‘語音信號頻譜‘)???????????????????
sound(xfsbits);

%設(shè)計長度N=21中心頻率Wc=π/4,主要對四種窗函數(shù)特性進(jìn)行分析,矩形窗、漢寧窗、漢明窗、布萊克曼窗、卷積窗。觀察比較其主瓣寬度,旁瓣衰減,過渡帶寬等特性指標(biāo)。
%程序如下:
N=21;?
wc=pi/4;
n=0:N-1;?
r=(N-1)/2;
hdn=sin(wc*(n-r))/pi./(n-r);
if?rem(N2)~=0
????hdn(r+1)=wc/pi;?
End

wn1=boxcar(N);
hn1=hdn.*wn1‘;

wn2=hanning(N);
hn2=hdn.*wn2‘;

wn3=hamming(N);
hn3=hdn.*wn3‘;

wn4=blackman(N);
hn4=hdn.*wn4‘;

wn50=(hamming(N))‘;
wn51=wn50;
wn5=wn50.*wn51;
hn5=hdn.*wn5;

figure(1);
subplot(211);?stem(nhn1‘.‘);?title(‘矩形窗設(shè)計得h(n)‘)
hw=fft(hn1512);?w=2*[0:511]/512;
subplot(212);?plot(w20*log10(abs(hw)));?grid;?title(‘矩形窗幅度特性(dB)‘)

figure(2);
subplot(211);?stem(nhn2‘.‘);?title(‘漢寧窗設(shè)計得h(n)‘)
hw=fft(hn2512);?w=2*[0:511]/512;?
subplot(212);?plot(w20*log10(abs(hw)));?grid;?title(‘漢寧窗幅度特性(dB)‘)

figure(3);
subplot(211);?stem(nhn3‘.‘);?title(‘漢明窗設(shè)計得h(n)‘)
hw=fft(hn3512);?w=2*[0:511]/512;?
subplot(212);?plot(w20*log10(abs(hw)));?grid;?title(‘漢明窗幅度特性(dB)‘)

figure(4);
subplot(211);?stem(nhn4‘.‘);?title(‘布萊克曼窗設(shè)計得h(n)‘)
hw=fft(hn4512);?w=2*[0:511]/512;
subplot(212);?plot(w20*log10(abs(hw)));?grid;?title(‘布萊克曼窗幅度特性(dB)‘)

figure(5);
subplot(211);?stem(nhn5‘.‘);?title(‘漢明自卷積窗設(shè)計得h(n)‘)
hw=fft(hn5512);?w=2*[0:511]/512;
subplot(212);?plot(w20*log10(abs(hw)));?grid;?title(‘漢明自卷積窗幅度特性(dB)‘)



%本段程序是對采集的語音信號進(jìn)行加窗傅立葉變換變換,觀察其短時譜,與原始信號頻譜進(jìn)行比較。對整段語音信號作加窗處理,將局部頻譜進(jìn)行放大,便于細(xì)節(jié)對比。共比較了五種窗:矩形窗、漢寧窗、漢明窗、布萊克曼窗、卷積窗(漢明)的加窗處理效果。
%程序如下:
[xfsbits]=wavread(‘C:\Users\mm\Desktop\語音信號\music1.wav‘);??%讀取語音
n=length(x);
Repeat?=?1;
x1?=?x(1:n);
X=fft(xn);
plot(abs(X));axis([01000003500])title(‘語音信號頻譜‘);???????%原始信號的頻譜???
sound(xfsbits);
?
while?Repeat?==?1?
disp(‘選擇窗函數(shù)‘);
disp(‘1:boxcar‘);
disp(‘2:hanning‘);
disp(‘3:hamming‘);
disp(‘4:blackman‘);
Ans?=?input(‘Choose=‘);????????????????%case語句選擇不同窗函數(shù)做加窗變換

switch?Ans
case?1
w?=?(boxcar(n))‘;
x2?=?x1.*w;??????????????????????????????????????%加窗方法:時域卷積
Xk2=?fft(x2n);
figure;
plot(abs(Xk2))axis([01000003500])title(‘加矩形窗后的信號頻譜‘);
?
case?2
w?=?(hanning(n))‘;
Xk2?=?fft(x2n);
x2?=?x1.*w;
figure;
plot(abs(Xk2))axis([01000003500])tit

評論

共有 條評論