基于汉宁窗的FIR滤波器wp1=0.3*pi;ws1=0.4*pi;ws2=0.6*pi;wp2=0.7*pi;wdelta=ws1-wp1;N=ceil(8*pi/wdelta);wc=[(ws1+wp1)/2,(ws2+wp2)/2];n=0:N-1;b=fir1(N,wc/pi,'stop',hanning(N+1));[H,f]=freqz(b,1,512,100);figure(1);plot(f,20*log10(abs(H)));xlabel('
wp1=0.3*pi;ws1=0.4*pi;ws2=0.6*pi;wp2=0.7*pi;
wdelta=ws1-wp1;
N=ceil(8*pi/wdelta);
wc=[(ws1+wp1)/2,(ws2+wp2)/2];
n=0:N-1;
b=fir1(N,wc/pi,'stop',hanning(N+1));
[H,f]=freqz(b,1,512,100);
figure(1);
plot(f,20*log10(abs(H)));
xlabel('频率/Hz');ylabel('振幅/dB');grid on;
title('频响特性');
f1=10;f2=25;f3=40;
dt=0.02;t=0:dt:3;
x=sin(2*pi*f1*t)+cos(2*pi*f2*t)+cos(2*pi*f3*t);
y=fftfilt(b,x);
figure(2)
subplot(2,1,1),plot(t,x),title('输入信号')
xlabel('时间/s')
subplot(2,1,2),plot(t,y),title('输出信号')
xlabel('时间/s')
figure(3)
N=2048;
fx=abs(fft(x,N));
fy=abs(fft(y,N));
fs=1/dt;
f=(0:length(fx)-1)'*fs/length(fx);
subplot(2,1,1),plot(f,fx),title('输入信号频谱')
xlabel('频率/Hz')
subplot(2,1,2),plot(f,fy),title('输出信号频谱')
xlabel('频率/Hz')
我设计的是带阻滤波器,作图做出来的频响特性曲线也是带阻的,但是输入一个三个频率分量的信号之后出来的却显示带通特性.谁帮我看看为什么?
程序的错误有两点
设计滤波器的采样频率与信号采样频率不同.在用数字信号处理时,要求参与运算的序列采样频率相同.
对于f1 f2 f3三个频率来讲,采样频率fs太低了,fs至少是f3的4倍以上,因为正弦信号按照2f3采样肯定失真
因此可以考虑将dt=0.02删掉,在程序开头写fs=500(是按照10f3算的),dt=1/fs,并将[H,f]=freqz(b,1,512,100)中的100改写为fs.而后试试,应该是你要的结果
It is not obvious how the capacity to visualize o 2020-05-14 …
matlab如何同时画出两个图.我写的程序怎么不对啊这个程序是s=load('d:\1.txt') 2020-05-16 …
求教matlab大神x=(0:0.2*pi:2*pi); %原始数据y=sin(x);xx=(0: 2020-06-27 …
基于汉宁窗的FIR滤波器wp1=0.3*pi;ws1=0.4*pi;ws2=0.6*pi;wp2= 2020-07-16 …
java问题。求解1、定义一个名叫Figure的class,其中有两个int型的属性,x和y;还有 2020-07-20 …
如何指定数字滤波器的阶数我想设计一个带通的巴特沃斯数字滤波器,wp1=1063dB;wp2=106 2020-07-22 …
请问figure这个单词是否能够指线条图(linechart)中的线条?今天的作文里,是一个lin 2020-07-25 …
(2014•济宁)阅读材料:已知,如图(1),在面积为S的△ABC中,BC=a,AC=b,AB=c 2020-07-31 …
figure和math有什么区别吗?figure:名词math:名词Help! 2020-08-03 …
下面这道题选A,可是不知道它哪里错了,.在Windowsxp中,下列不合法的文件名是.A.FIGUR 2020-11-06 …