📄 q610.m
字号:
%《MATLAB及在电子信息课程中的应用》第六章例6.10程序q610
% 调幅信号通过窄带滤波器
% 电子工业出版社出版 陈怀琛 吴大正 高西全合著 2001年10月初版,2003年7月第二版
%
clear
t=linspace(0,2*pi,1001); % 信号周期为2*pi,分成1000份
w=[99,100,101]; % 输入信号的三个频率分量
U=[0.5,1,0.5]; % 三个频率分量对应的向量(虚部为零)
b=[2,0];a=[1,2,10001]; % 滤波器分子分母系数向量
u1=U*cos(w'*t+angle(U')*ones(1,1001)); % 输入信号的时间曲线
H=polyval(b,j*w)./polyval(a,j*w); % 求滤波器在三个频点上的频率响应,也可用H=freqs(b,a,w);
% 画出滤波器的频率响应曲线,只用三个频点,图形不好看,读者可修改程序得到其完整的频率响应
figure(1)
subplot(2,1,1),plot(w,abs(H)),grid % 幅度
set(gcf,'color','w') % 设置图形背景色为白色
subplot(2,1,2),plot(w,angle(H)),grid % 相位
u21=abs(U(1)*H(1))*cos(99*t+angle(U(1)*H(1))); % 角频率为99的分量
u22=abs(U(2)*H(2))*cos(100*t+angle(U(2)*H(2))); % 角频率为100的分量
u23=abs(U(3)*H(3))*cos(101*t+angle(U(3)*H(3))); % 角频率为101的分量
u2=u21+u22+u23; % 求和
% 巧妙地利用元素群运算和矩阵运算相结合可把四条语句合成一条语句如下
% u2=abs(U.*H)*cos(w'*t+angle((U.*H).')*ones(1,1001));
% 注意对复数矩阵(U.*H),(U.*H)'为其共轭转置,(U.*H).'为转置而不共轭
figure(2) % 画出原信号和滤波后信号的波形作比较
set(gcf,'color','w') % 设置图形背景色为白色
subplot(2,1,1),plot(t,u1)
subplot(2,1,2),plot(t,u2)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -