求大神解释下段MATLAB程序并注释一下,急求!
clearall;closeall;fs=2500;fp=99,fc=105;wp=2*pi*fp/fs;ws=2*pi*fc/fs;Bt=ws-wp;N0=ceil(6...
clear all;
close all;
fs=2500;
fp=99,fc=105;
wp=2*pi*fp/fs;
ws=2*pi*fc/fs;
Bt=ws-wp;
N0=ceil(6.6*pi/Bt);
N=N0+mod(N0+1,2);
wc=(wp+ws)/2/pi;
hn=fir1(N-1,wc,hamming(N));
freqz(hn,1,512);
%%
f1=30;f2=45;f3=80;f4=93;f5=99;f6=130;
t=0:0.01:2;
x=0.5*cos(2*pi*f1*t)+0.3*cos(2*pi*f2*t)+0.2*cos(2*pi*f3*t)+0.7*cos(2*f4*pi*t)+0.8*cos(2*pi*f5*t)+0.6*cos(2*pi*f6*t);
figure(5);
subplot(211)
plot(t,x);
y=filter(hn,1,x);
title('滤波前信号');
subplot(212)
plot(t,y);
title('滤波后信号'); 展开
close all;
fs=2500;
fp=99,fc=105;
wp=2*pi*fp/fs;
ws=2*pi*fc/fs;
Bt=ws-wp;
N0=ceil(6.6*pi/Bt);
N=N0+mod(N0+1,2);
wc=(wp+ws)/2/pi;
hn=fir1(N-1,wc,hamming(N));
freqz(hn,1,512);
%%
f1=30;f2=45;f3=80;f4=93;f5=99;f6=130;
t=0:0.01:2;
x=0.5*cos(2*pi*f1*t)+0.3*cos(2*pi*f2*t)+0.2*cos(2*pi*f3*t)+0.7*cos(2*f4*pi*t)+0.8*cos(2*pi*f5*t)+0.6*cos(2*pi*f6*t);
figure(5);
subplot(211)
plot(t,x);
y=filter(hn,1,x);
title('滤波前信号');
subplot(212)
plot(t,y);
title('滤波后信号'); 展开
1个回答
展开全部
clear all;
close all;
fs=2500; %采样率
fp=99,fc=105; %通带边界频率和截止频率
wp=2*pi*fp/fs; %频率做归一化处理
ws=2*pi*fc/fs;
Bt=ws-wp; %过渡带宽
N0=ceil(6.6*pi/Bt); %确定滤波器长度
N=N0+mod(N0+1,2); %保证为奇数
wc=(wp+ws)/2/pi; %过渡带中心频率
hn=fir1(N-1,wc,hamming(N)); %汉明窗滤波器
freqz(hn,1,512); %绘制频率响应图
%%构造测试信号
f1=30;f2=45;f3=80;f4=93;f5=99;f6=130; %各频率分量(Hz)
t=0:0.01:2; %时长
x=0.5*cos(2*pi*f1*t)+0.3*cos(2*pi*f2*t)+0.2*cos(2*pi*f3*t)+0.7*cos(2*f4*pi*t)+0.8*cos(2*pi*f5*t)+0.6*cos(2*pi*f6*t); %测试信号
figure(5);
subplot(211)
plot(t,x);
y=filter(hn,1,x); %时域滤波
title('滤波前信号');
subplot(212)
plot(t,y);
title('滤波后信号');
close all;
fs=2500; %采样率
fp=99,fc=105; %通带边界频率和截止频率
wp=2*pi*fp/fs; %频率做归一化处理
ws=2*pi*fc/fs;
Bt=ws-wp; %过渡带宽
N0=ceil(6.6*pi/Bt); %确定滤波器长度
N=N0+mod(N0+1,2); %保证为奇数
wc=(wp+ws)/2/pi; %过渡带中心频率
hn=fir1(N-1,wc,hamming(N)); %汉明窗滤波器
freqz(hn,1,512); %绘制频率响应图
%%构造测试信号
f1=30;f2=45;f3=80;f4=93;f5=99;f6=130; %各频率分量(Hz)
t=0:0.01:2; %时长
x=0.5*cos(2*pi*f1*t)+0.3*cos(2*pi*f2*t)+0.2*cos(2*pi*f3*t)+0.7*cos(2*f4*pi*t)+0.8*cos(2*pi*f5*t)+0.6*cos(2*pi*f6*t); %测试信号
figure(5);
subplot(211)
plot(t,x);
y=filter(hn,1,x); %时域滤波
title('滤波前信号');
subplot(212)
plot(t,y);
title('滤波后信号');
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询