程序:
wlp = 035pi;
whp = 065pi;
wc = [wlp/pi,whp/pi];
N = ceil(8/015);
n=0:N-1;
window= hanning(N);
[h1,w]=freqz(window,1);
subplot(411);
stem(window); %画窗函数
axis([0 60 0 12]);
grid;
xlabel('n');
title('Hanning窗函数');
subplot(412);
plot(w/pi,20log(abs(h1)/abs(h1(1)))); %画Hanning窗频谱图
axis([0 1 -350 0]);
grid;
xlabel('w/pi');
ylabel('幅度(dB)');
title('Hanning窗函数的频谱');
hn = fir1(N-1,wc, hanning (N));%基于窗函数的 FIR 滤波器
[h2,w]=freqz(hn,1,512); %freqz是用离散傅里叶变换的标准公示计算的 fft使用快速傅里
subplot(413);
stem(n,hn);
axis([0 60 -025 025]);
grid;
xlabel('n');
ylabel('h(n)');
title('Hanning窗函数的单位脉冲响应');
subplot(414);
plot(w/pi,20log(abs(h2)/abs(h2(1))));
grid;
xlabel('w/pi');
ylabel('幅度(dB)');
title('滤波器相对幅度响应')
结果:
最好是给出原始信号和加噪信号,这样对比一下可以根据噪声的特性选择合适的去噪方法。
前两幅图所示的去噪效果很难实现,除非是假定原始信号是线性函数,然后做拟合。
小波方法我不会,没用过。
以上就是关于MATLAB中的窗函数程序全部的内容,包括:MATLAB中的窗函数程序、求大神做一个MATLAB的去噪函数、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)