📄 fig611b.m
字号:
clear all;close all;
T=0.0001;Fs=1/T;N=4800;Tp=N*T
t=0:T:(N-1)*T;
k=0:N-1;
f=k/Tp;
fc1=Fs/10;f01=fc1/10;
fc2=Fs/40;f02=fc2/10;
mt1=cos(2*pi*f01*t); %
ct1=cos(2*pi*fc1*t); %
xt1=mt1.*ct1; %
mt2=cos(2*pi*f02*t); %
ct2=cos(2*pi*fc2*t); %
xt2=mt2.*ct2; %
xt=xt1+xt2;
%===============================
fxt=fft(xt,N);
subplot(3,1,1)
plot(t,xt);grid;xlabel('t/s');ylabel('x(t)');
axis([0,Tp/8,min(xt),max(xt)]);title('(a) x(t)的波形')
subplot(3,1,3)
plot(f,abs(fxt)/max(abs(fxt)));grid;title('(b) x(t)的频谱')
axis([0,Fs/4,0,1.2]);
xlabel('f/Hz');ylabel('幅度')
%==============================
fp=300; fs=600; % 输入给定指标
Rp=0.2;As=60;
fb=[fp,fs];m=[1,0]; % 计算remezord函数所需参数f,m,dev
dev=[(10^(Rp/20)-1)/(10^(Rp/20)+1),10^(-As/20)];
[n,fo,mo,W]=remezord(fb,m,dev,Fs); % 确定remez函数所需参数
hn=remez(n,fo,mo,W); % 调用remez函数进行设计
fhw=fft(hn,N); % 求设计出的滤波器频率特性
figure(2)
subplot(3,1,1)
plot(f,abs(fhw));grid;title('(c) 低通滤波器幅频特性')
axis([0,Fs/4,0,max(abs(fhw))+0.5]);
xlabel('f/Hz');ylabel('幅度')
%===============================
zt=filter(hn,1,xt);
subplot(3,1,3)
plot(t,zt);grid;
axis([0,Tp/8,-1,1]);xlabel('t/s');ylabel('s1(t)');
title('(d) 低通滤波后分离出的的信号波形')
fb=[500,800,1200,1500]; % 输入给定指标
m=[0,1,0]; % 计算remezord函数所需参数f,m,dev
Rp=1;As=60;Fs;
dev=[10^(-As/20),(10^(Rp/20)-1)/(10^(Rp/20)+1),10^(-As/20)];
[n,fo,mo,W]=remezord(fb,m,dev,Fs); % 确定remez函数所需参数
hn=remez(n,fo,mo,W); % 调用remez函数进行设计
fhw=fft(hn,N); % 求设计出的滤波器频率特性
figure(3)
subplot(3,1,1)
plot(f,abs(fhw)/max(abs(fhw)));grid;title('(e) 带通滤波器幅频特性')
axis([0,Fs/4,0,1.2]);
xlabel('f/Hz');ylabel('幅度')
%================================
yt=filter(hn,1,xt); %
%============================
subplot(3,1,3)
plot(t,yt);grid;
axis([0,Tp/8,-1,1]);xlabel('t/s');ylabel('s2(t)');
title('(f) 带通滤波后分离出的的信号波形')
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -