wlp=035pi; wls=04pi; wus=05pi; wup=055pi; wc=[(wlp+wls)/2/pi,(wus+wup)/2/pi]; B=wls-wlp; N=ceil(12pi/B)-1; n=0:N-1; window=blackman(N); [h1,w]=freqz(window,1)subplot(2,2,1) stem(window,''); xlabel('n'); title('blackman窗函数 '); subplot(2,2,2) plot(w/pi,20log(abs(h1)/abs(h1(1)))); grid; xlabel('w/pi'); ylabel(' 幅度(dB)'); title('blackman窗函数的频谱 '); hn = fir1(N-1,wc,'stop')[h2,w]=freqz(hn,1,512); subplot(2,2,3) stem(n,hn,''); xlabel('n'); ylabel('h(n)'); title('blackman窗函数的单位脉冲响应 '); subplot(2,2,4) plot(w/pi,20log(abs(h2)/abs(h2(1)))); grid; xlabel('w/pi'); ylabel(' 幅度(dB)'); title('blackman带阻滤波器的幅度特性 ');grid[B,A]=butter(9,wc,'stop'); [BT,AT]=lp2bp(B,A,wc,B);[num,den]=bilinear(BT,AT,05);k=0:1:1000;%通过滤波器3f1=2pi450/2000;f2=2pi600/2000;x=sin(f1k)+sin(f2k);y=filter(num,den,x);x1=sin(f1k)figure(2)subplot(2,2,1)%绘制x1的波形plot(x1);grid on;axis([0,100pi,-5,5]);xlabel('t');ylabel('x1(t)');title('x1的波形');x2=sin(f2k);subplot(2,2,2)%绘制x2的波形plot(x2);grid on;axis([0,100pi,-
定义窗函数:w(n)=hann(n);
离散函数x(n)加窗:y(n)=x(n)w(n);
这里w(n)不一定定义为hann,也可以是hanning、blackman什么的或者干脆是矩形窗(0,0,0,0,,1,1,1,,1,1,,0,0,0)这样的,具体的看需求。
定义
窗函数
:w(n)=hann(n);
离散函数x(n)加窗:y(n)=x(n)w(n);
这里w(n)不一定定义为hann,也可以是hanning、blackman什么的或者干脆是矩形窗(0,0,0,0,,1,1,1,,1,1,,0,0,0)这样的,具体的看需求。
窗函数的目的是截取一个时间片段的有效信号。
数字信号处理的主要数学工具是傅里叶变换.而傅里叶变换是研究整个时间域和频率域的关系。不过,当运用计算机实现工程测试信号处理时,不可能对无限长的信号进行测量和运算,而是取其有限的时间片段进行分析。做法是从信号中截取一个时间片段,然后用截取的信号时间片段进行周期延拓处理,得到虚拟的无限长的信号,然后就可以对信号进行傅里叶变换、相关分析等数学处理。
http://baikebaiducom/linkurl=_zugOHjcIB8NwOaFw9rMAomzkzVI9zHDlhn0TkhrnsXQG-31ScbNYGADY8dIYM27Bf4b55PbMJ8FN7aJjsWGN_
窗函数在信号处理中的作用是减少频谱泄露并改善频谱分辨率。
频谱泄露是一种在信号的频域表现中常见的现象,它会导致信号的频谱能量泄漏到非信号频率上,从而使得信号频谱中的能量峰值变得模糊或者难以辨别。频谱泄露的出现通常是由于信号的时间窗口不是周期性的,或者信号在窗口边缘处的取样值不为零导致的。使用窗函数可以解决这个问题,因为窗函数可以将信号在窗口边缘处的取样值逐渐降低,从而减少频谱泄露。
另外,窗函数还可以改善频谱分辨率。频谱分辨率指的是频率分辨率和时间分辨率,频率分辨率是指能够在频域上分辨两个信号之间的最小频率差异,而时间分辨率是指能够在时域上分辨两个信号之间的最小时间差异。在频域上,信号的频谱分辨率与信号的时间窗口大小有关。如果时间窗口较小,则频谱分辨率会提高,但是频谱泄露也会增加。因此,在信号处理中,需要在频谱分辨率和频谱泄露之间做出权衡。使用窗函数可以改善频谱分辨率,因为它可以在频域上使信号的频谱峰值更为集中,从而提高频谱分辨率。
给你个参考例子
wc=(400/1000)pi; %求截止频率
w1=boxcar(81); %窗函数
w2=triang(81);
w3=hamming(81);
w4=hanning(81);
w5=bartlett(81);
w6=blackman(81);
w7=chebwin(81,30);
w8=kaiser(81,7856);
n=1:1:81;
hd=sin(wc(n-41))/(pi(n-41)); %求h(d)
hd(41)=wc/pi;
h1=hdw1'; %加窗
h2=hdw2';
h3=hdw3';
h4=hdw4';
h5=hdw5';
h6=hdw6';
h7=hdw7';
h8=hdw8';
[mag1,rad]=freqz(h1); %求幅频特性曲线
[mag2,rad]=freqz(h2);
[mag3,rad]=freqz(h3);
[mag4,rad]=freqz(h4);
[mag5,rad]=freqz(h5);
[mag6,rad]=freqz(h6);
[mag7,rad]=freqz(h7);
[mag8,rad]=freqz(h8);
figure(1); %画幅频特性曲线
plot(rad,20log10(abs(mag1)));
xlabel('Normalized Frequency(rad)');
ylabel('Normaliaed Magnitude(dB)');
axis([0,3,-80,0]);
title('利用矩形窗设计的数字滤波器');
grid on;
figure(2);
plot(rad,20log10(abs(mag2)));
xlabel('Normalized Frequency(rad)');
ylabel('Normaliaed Magnitude(dB)');
axis([0,3,-80,0]);
title('利用三角窗设计的数字滤波器');
grid on;
figure(3);
plot(rad,20log10(abs(mag3)));
xlabel('Normalized Frequency(rad)');
ylabel('Normaliaed Magnitude(dB)');
axis([0,3,-80,0]);
title('利用海明设计的数字滤波器');
grid on;
figure(4);
plot(rad,20log10(abs(mag4)));
xlabel('Normalized Frequency(rad)');
ylabel('Normaliaed Magnitude(dB)');
axis([0,3,-80,0]);
title('利用汉宁窗设计的数字滤波器');
grid on;
figure(5);
plot(rad,20log10(abs(mag5)));
xlabel('Normalized Frequency(rad)');
ylabel('Normaliaed Magnitude(dB)');
axis([0,3,-80,0]);
title('利用巴特里特窗设计的数字滤波器');
grid on;
figure(6);
plot(rad,20log10(abs(mag6)));
xlabel('Normalized Frequency(rad)');
ylabel('Normaliaed Magnitude(dB)');
axis([0,3,-100,0]);
title('利用布拉克曼窗设计的数字滤波器');
grid on;
figure(7);
plot(rad,20log10(abs(mag7)));
xlabel('Normalized Frequency(rad)');
ylabel('Normaliaed Magnitude(dB)');
axis([0,3,-100,0]);
title('利用切比雪夫窗设计的数字滤波器');
grid on;
figure(8);
plot(rad,20log10(abs(mag8)));
xlabel('Normalized Frequency(rad)');
ylabel('Normaliaed Magnitude(dB)');axis([0,3,-100,0]);
title('利用凯塞窗设计的数字滤波器');
grid on;
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)