作业帮 > 综合 > 作业

设计一个数字滤波器用matlab

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/05/15 01:14:17
设计一个数字滤波器用matlab
一个信号,包括三个频率的正弦分量:F1=5Hz,F2=20Hz,F3=50Hz,含随机噪声.设计一个数字滤波器,要求滤掉F1=5Hz,F3=50Hz两个频率分量,只留下F2=20Hz的分量.请写出matlab代码
你好,帮你写了个,好的话请采纳,谢谢
clear,clc;
close all;
Fs = 200;
F1 = 5;
F2 = 20;
F3 = 50;
Datalength = 200;
SignalAmp = 10;
NoiseAmp = 1;
Signal = SignalAmp*(sin(2*pi*F1/Fs*(0:Datalength-1))+sin(2*pi*F2/Fs*(0:Datalength-1))+sin(2*pi*F3/Fs*(0:Datalength-1)));
Noise = NoiseAmp*rand(1,Datalength);
SignalTransmit = Signal + Noise;
figure,plot(1:Datalength,SignalTransmit)
LPF = fir1(100,[20/200 40/200],'bandpass');
FilterOut = filter(LPF,1,SignalTransmit);
figure,plot(1:length(FilterOut),FilterOut,'-*')