信号matlab仿真实验复习
简单的matlab信号仿真

实验1 连续时间信号和离散信号的实现实验内容与方法一、验证性试验1、生成直流信号f(t)=6MA TLAB程序代码:t = -10:0.01:10;a1 = 6;subplot(3,3,1)plot(t,a1,'b');title('直流信号');xlabel('时间(t)');ylabel('幅值(f)')2、生成正弦交流信号f(t)=sin(wt+φ)MA TLAB程序代码:t = 0:0.01:1;f = sym('sin(2*pi*t)');subplot(3,3,2)ezplot(f,[0,1]);title('正弦交流信号');xlabel('时间(t)');ylabel('幅值(f)')3、生成单位阶跃信号f(t)=ε(t)MA TLAB程序代码:t0=0;t1=-1;t2=3;dt=0.01;t=t1:dt:-t0;n=length(t);t3=-t0:dt:t2;n3=length(t3);u=zeros(1,n);u3=ones(1,n3);subplot(3,3,3)plot(t,u);hold on;plot(t3,u3);plot([-t0,-t0],[0,1]);hold off;axis([t1,t2,-0.2,1.5]);xlabel('时间(t)');ylabel('幅值(f)');title('单位阶跃信号')4、生成单位冲激信号f(t)=δ(t)MA TLAB程序代码:t0=0;t1=-1;t2=5;dt=0.1;t=t1:dt:t2;n=length(t);x=zeros(1,n);x(1,(t0-t1)/dt+1)=1/dt;subplot(3,3,4)stairs(t,x);axis([t1,t2,0,1/dt]);xlabel('时间(t)');ylabel('幅值(f)');title('单位冲激信号')5、生成周期方波信号MA TLAB程序代码:t=(0:0.0001:1);y=square(2*pi*15*t);subplot(3,3,5)plot(t,y);axis([0,1,-1.5,1.5]);xlabel('时间(t)');ylabel('幅值(f)');title('周期方波信号')6、生成三角波信号MA TLAB程序代码:t=(-3:0.0001:5);y=tripuls(t,4,0.5);subplot(3,3,6)plot(t,y);xlabel('时间(t)');ylabel('幅值(f)');title('三角波信号')7、生成正弦序列信号MA TLAB程序代码:k1=-20;k2=20;k=k1:k2;f=sin(k*pi/6);subplot(3,3,7)stem(k,f,'filled');xlabel('时间(t)');ylabel('幅值(f)');title('正弦序列')8、生成单位斜波序列信号MA TLAB程序代码:k1=-20;k2=20;k0=0;n=[k1:k2];if k0>=k2x=zeros(1,length(n));elseif (k0<k2)&(k0>k1)x=[zeros(1,k0-k1),[0:k2-k0]];elsex=(k1-k0)+[0:k2-k1];endsubplot(3,3,8)stem(n,x);xlabel('时间(t)');ylabel('幅值(f)');title('单位斜波序列')9、生成幅值调制序列信号MA TLAB程序代码:n=0:100;m=0.4;fH=0.1;fL=0.01;xH=sin(2*pi*fH*n);xL=sin(2*pi*fL*n);y=(1+m*xL).*xH;subplot(3,3,9)stem(n,y);grid;xlabel('时间(k)');ylabel('幅值f(k)');title('幅值调制序列')10、生成复指数信号y(t)=e^(-at+bjt)MA TLAB程序代码:t=0:0.01:3;a=-3;b=4;z=exp((a+i*b)*t);subplot(2,2,1);plot(t,real(z)),title('实部'):xlabel('时间(t)');ylabel('幅值(f)'); subplot(2,2,2);plot(t,imag(z)),title('虚部'):xlabel('时间(t)');ylabel('幅值'); subplot(2,2,3);plot(t,abs(z)),title('模'):xlabel('时间(t)');ylabel('幅值'); subplot(2,2,4);plot(t,real(z)),title('相角'):xlabel('时间(t)');ylabel('幅值')二、程序设计实验①a=3;x=-10:0.01:10;y=(1-2*abs(x))/a;subplot(3,3,1)plot(x,y,'b')axis([-12,12,-10,5]);xlabel('x');ylabel('y');title('(1-2*abs(x))/a')②t = 0:0.01:6*pi;f = sym('cos(3*t)+sin(2*t)');subplot(3,3,2)ezplot(f,[0,6*pi]);title('信号');xlabel('时间(t)');ylabel('幅值(f)')③t0=-5;t1=-10;t2=5;dt=0.01;t=t1:dt:t0;n=length(t);t3=t0:dt:t2;n3=length(t3);u=zeros(1,n);u3=ones(1,n3);subplot(3,3,3)plot(t,u);hold on;plot(t3,u3);plot([t0,t0],[0,1]);hold off;axis([t1,t2,-0.2,1.2]);xlabel('时间(t)');ylabel('幅值(f)');title('u(t+5)')④k1=-20;k2=20;k=k1:k2;f=cos(5*k)+sin(4*k);subplot(3,3,7)stem(k,f,'filled');xlabel('时间(k)');ylabel('幅值f(k)');title('信号4')⑤x=0:0.01:3;z=5*exp(-x);subplot(2,2,1);plot(x,real(z)),title('信号5'):xlabel('时间(x)');ylabel('幅值(f)')⑥k0=0;k1=-1;k2=10;dk=1;k=k1:dk:k2;n=length(k);x=zeros(1,n);x(1,(k0-k1)/dk+1)=1/dk;subplot(3,3,4)stairs(k+5,x);axis([k1,k2,0,1/dk]);xlabel('时间(k)');ylabel('幅值(f)');title('信号6')⑦t0=-5;t1=-6;t2=0;t=t1:t0-1;n=length(t);t3=t0:t2;n3=length(t3);u=zeros(1,n);u3=ones(1,n3);subplot(3,3,7)stem(t,u,'filled');hold on;stem(t3,u3,'filled');hold off;axis([t1,t2,-0.2,1.5]);xlabel('时间(t)');ylabel('幅值(f)');title('信号7');。
信号与系统MATLAB仿真题目参考答案

参考答案1.解当2T τ=时,111411()[sin()sin(3)sin(5)]35f t t t t ωωωπ=+++ (1)1210,2100T s kHz Tπμωπ===⨯ 00100,2100f kHz kHz ωπ==⨯基波分量幅值4() 1.27n i t A μπ=≈2() 1.27100127t mA k V υ=⨯Ω=(2)1220,250T s kHz Tπμωπ===⨯ 00100,2100f kHz kHz ωπ==⨯ 1()i t 中不包含0f ,所以2()0t υ=(3)110215,30,233,32100,2100T s T s kHz kHz kHz Tπμμωπωπωπ====⨯≈⨯=⨯ 1334()0.424,()0.42410042.43i t mA t mA k V υπ===⨯Ω= 2.解(1) [()](),(1)[(1)]DFT x n X k x N n x n N -=---=--+1[()][(1)]{[(1)]}DFT x n DFT x N n DFT x n N -=--=--+22(1)()()jN k jk NNX k ex k eππ-+=-=-(2)()/22()1()()nN n N x n x n x n W ⋅=-=,/22[()][()]2N n N N DFT x n DFT x n W X k ⋅⎛⎫==+ ⎪⎝⎭(3) 1213220[()]()()N N nknk NNn n NDFT x n x n Wx n N W--===+-∑∑1122200()()N N nk Nk nk NNNn n x n WWx n W--===+∑∑11/2/20()(1)N N nk knk nNn n x n WW--===+-∑∑2(/2)[1(1)]20k X k k k X k ⎧⎛⎫=+-=⎨⎪⎝⎭⎩为偶数为奇数(4) /214/2[()][()(/2)]N nk N n DFT x n x n x n N W-==++∑112(/2)/2/2/2()()N N nk n N kN N n n N x n Wx n W ---===+∑∑112/200()()(2)N N nknk N N n n x n Wx n W X k --⋅=====∑∑ (5) 2111/25220[()]()()()()2N N N nk nk nk s NNN n n n k DFT x n x n Wx n Wx n W X ---=======∑∑∑(6)DFT 216620[()]()N nk N n x n x n W -==∑216202N nk N n n n xW -=⎛⎫=⎪⎝⎭∑为偶21260()()2N N k k n n x W X k -===∑(7) 1/21277/2/20[()]()(2)N N nk nkN N n n DFT x n x n Wx n W --====∑∑,令2,2mn m n ==1127/200[()]()()m N N k mk N Nm m m m DFT x n x m Wx m W--====∑∑为偶为偶101[()(1)()]2N m mkNm x m x m W -==+-∑110011()(1)()22N N mk m mkN Nm m x m W x m W --===+-∑∑ 1[()()]22N x k x k =++3.解 210()c o s ()2f t f t t τω⎛⎫=- ⎪⎝⎭由频域卷积定理,有{}221()()2f t F ωπ==12f t τ⎧⎫⎛⎫-*⎨⎬ ⎪⎝⎭⎩⎭{}0cos()t ω由于 21()24E F Sa τωτω⎛⎫= ⎪⎝⎭由时移性质可得221224j E f t Sa eωτττωτ-⎧⎫⎛⎫⎛⎫-=⎨⎬ ⎪ ⎪⎝⎭⎝⎭⎩⎭ 而{}[]000cos()()()t ωπδωωδωω=++-所以0000()()22002222200222()()()444()()444j j j j j E F Sa e Sa e E e Sa e Sa e ωωτωωτωτωτωτωωτωωττωωωτωωττ+-----⎧⎫+-⎡⎤⎡⎤=+⎨⎬⎢⎥⎢⎥⎣⎦⎣⎦⎩⎭⎧⎫+-⎪⎪⎡⎤⎡⎤=+⎨⎬⎢⎥⎢⎥⎣⎦⎣⎦⎪⎪⎩⎭4.解 由题图可知,()f t 为偶函数,因而240240112()cos n T TT T b E a f t dt E t dt T T T ππ--=⎛⎫===⎪⎝⎭⎰⎰212410402()cos()4222cos cos ,222cos (1)cos (1)TT n T T a f t n dtT E t n t dt T T T T E n t n t dt T T T ωπππωππ-=⎛⎫⎛⎫=⋅= ⎪ ⎪⎝⎭⎝⎭⎧⎫⎡⎤⎡⎤=++-⎨⎬⎢⎥⎢⎥⎣⎦⎣⎦⎩⎭⎰⎰⎰211sin sin 2211,120,3,5,1,2cos ,2,4,6,(1)2n n E n n E n n E n n n πππππ⎡+-⎤⎛⎫⎛⎫ ⎪ ⎪⎢⎥⎝⎭⎝⎭⎢⎥=++-⎢⎥⎢⎥⎣⎦⎧=⎪⎪⎪==⋅⋅⋅⎨⎪⎪=⋅⋅⋅-⎪⎩从而11111111112222()cos()cos(2)cos(4)cos(6)(8)231535634442cos()cos(2)cos(4)cos(6),231535EE E E E Ef t t t t t t E E t t t t T ωωωωωππππππωωωωωππππ=++-+-+⋅⋅⋅⎡⎤=++-++⋅⋅⋅=⎢⎥⎣⎦若E=10V ,f=10kHz ,则幅度谱如下图所示。
《信号与系统》matlab仿真实验

《信号与系统》matlab仿真实验综合实验一《信号与系统》的MATLAB仿真实验一.实验目的1.熟悉MA TLAB软件平台、工具箱、高效的数值计算及符号计算功能。
2.熟悉MATLAB软件的信号处理编程方法和结果的可视化3.了解数字信号处理的计算机仿真方法4.进一步加深对信号与系统的基本原理、方法及应用的理解。
二.实验软件MATLAB 6.5 界面三.实验内容1.基本信号的表示及可视化2.连续信号的时域运算与时域变换3.线性系统的时域分析及Matlab实现4.连续时间信号的频域分析及Matlab实现四.实验原理方法及相关MATLAB函数1.基本信号的表示及可视化1.1 连续时间信号(1)表示出连续信号f(t)=Sa(t)=sin(t)/tMatlab命令如下:t=-10:1.5:10;%向量t时间范围t=t1:p:t2,p为时间间隔f=sin(t)./t;plot(t,f); %显示该信号的时域波形title(‘f(t)=Sa(t)’);xlabel(‘t’)axis([-10,10,-0.4,1.1])注:改变p可使信号波形更平滑,同学们可以试一试。
(2)单位阶跃信号定义阶跃函数function f=Heaviside(t)f=(t>0)调用阶跃函数t=-1:0.01:3;f=Heaviside(t)plot(t,f);axis([-1,3,-0.2,1.2]);(2)单位冲击信号 (t)定义冲击函数functionchongji(t1,t2,t0)dt=0.01;t=t1:dt:t2;n=length(t);x=zeros(1,n);x(1,(-t0-t1)/dt+1)=1/dt;stairs(t,x);axis([t1,t2,0,1.2/dt])title('单位冲击信号δ(t)')调用的是chongji(-1,5,0);可以试着给别的t1,t2,t0.1.2离散时间信号(1)单位阶跃序列ε(k)定义阶跃序列function jyxulie(k1,k2,k0)k=k1:-k0-1;kk=-k0:k2;n=length(k);nn=length(kk);u=zeros(1,n); %k0前信号赋值为零uu=ones(1,nn);%k0后信号赋值为一stem(kk,uu,’filled’)hold onstem(k,u,’filled’)holdofftitle(‘单位阶跃序列’)axis([k1 k20 1.5])调用阶跃序列函数jyxulie(-2,6,0)(3)单位序列δ(k)定义单位序列函数functiondwxulie(k1,k2,k0)k=k1:k2;n=length(k);f=zeros(1,n);f(1,-k0-k1+1)=1;stem(k,f,’filled’)axis([k1,k2,0,1.5])title(‘单位序列δ(k)’)调用单位序列函数dwxulie(-3,5,0)2.连续信号的时域运算与时域变换运算、变换的符号运算方法:相加、相乘、移位、反折、尺度变换、倒相已知信号)]2()2([)21()(--+⨯+=ttttfεε,用matlab求f(t+2),f(t-2),f(-t),f(2t),-f(t),并绘出时域波形。
MATLAB信号处理仿真实验

MATLAB信号处理仿真实验1. 引言信号处理是一种广泛应用于各个领域的技术,它涉及到对信号的获取、处理和分析。
MATLAB是一种强大的数学软件,提供了丰富的信号处理工具箱,可以用于信号处理的仿真实验。
本文将介绍如何使用MATLAB进行信号处理仿真实验,并提供详细的步骤和示例。
2. 实验目的本实验旨在通过MATLAB软件进行信号处理仿真,以加深对信号处理原理和算法的理解,并掌握使用MATLAB进行信号处理的基本方法和技巧。
3. 实验步骤3.1 生成信号首先,我们需要生成一个待处理的信号。
可以使用MATLAB提供的信号生成函数,如sine、square和sawtooth等。
以生成一个正弦信号为例,可以使用以下代码:```MATLABfs = 1000; % 采样频率t = 0:1/fs:1; % 时间向量f = 10; % 信号频率x = sin(2*pi*f*t); % 生成正弦信号```3.2 添加噪声为了更真实地摹拟实际信号处理场景,我们可以向生成的信号中添加噪声。
可以使用MATLAB提供的随机噪声生成函数,如randn和awgn等。
以向生成的信号中添加高斯白噪声为例,可以使用以下代码:```MATLABSNR = 10; % 信噪比y = awgn(x, SNR); % 向信号中添加高斯白噪声```3.3 进行滤波处理滤波是信号处理中常用的一种技术,用于去除信号中的噪声或者提取感兴趣的频率成份。
可以使用MATLAB提供的滤波函数,如fir1和butter等。
以设计并应用一个低通滤波器为例,可以使用以下代码:```MATLABorder = 10; % 滤波器阶数cutoff = 0.1; % 截止频率b = fir1(order, cutoff); % 设计低通滤波器filtered_y = filter(b, 1, y); % 应用滤波器```3.4 进行频谱分析频谱分析是信号处理中常用的一种技术,用于分析信号的频率成份。
matlab仿真复习课

第3章 控制系统的数学模型
2)并联连接
在 MATLAB 的控制系统工具箱中提供了系统的并联 连接处理函数parallel( ),该函数的调用格式为 [A , B ,C ,D]=parallel(A1, B1, C1, D1, A2, B2, C2, D2) 和 [num,den]=parallel(num1,den1,num2,den2) 其中前一式用来处理由 u1 y1 状态方程表示的系统,后 1 一式仅用来处理由传递函 u y 数阵表示的单输入多输出 u2 y2 2 系统。
u u1
1
y1
u2
2
y2
y
在MATLAB的控制系统工具箱中提供了系统的串联连接 处理函数series( ),它既可处理由状态方程表示的系统,
也可处理由传递函数阵表示的单输入多输出系统,其调
用格式为
[A , B ,C ,D]=series(A1, B1, C1, D1, A2, B2, C2, D2)
(2) 调节时间(settingtime)
C=dcgain(G)
i=length(t)
while (y(i)>0.98*C)&(y(i)<1.02*C)
第1章 计算机辅助设计与仿真技术概述
(3)仿真模型(描述模型) 指根据系统的数学模型,用仿真语言转化为 计算机可以实施的模型。 1.1.4 计算机仿真的三要素及基本步骤(内容) 1)三要素 (1)系统:研究的对象 (2)模型:系统的抽象 (3)计算机:工具与手段
第1章 计算机辅助设计与仿真技术概述 2.3.2 变量和数值显示格式
matlab数字信号部分上机实验解读

0n3 4n7 other
x6 (n) cos8t cos16t cos 20t
(2) 令x(n)=x4(n)+x5(n), 用FFT计算 8 点和 16 点离散傅里 叶变换,
X(k)=DFT[x(n)] (3) 令x(n)=x4(n)+jx5(n), 重复(2)。
4. 思考题 (1) 在N=8时, x2(n)和x3(n)的幅频特性会相同吗? 为 什么? N=16呢? (2) 如果周期信号的周期预先不知道, 如何用FFT进 行谱分析? 5. 实验报告要求 (1) 简述实验原理及目的。 (2) 结合实验中所得给定典型序列幅频特性曲线, 与理论结果比较, 并分析说明误差产生的原因以及用 FFT作谱分析时有关参数的选择方法。 (3) 总结实验所得主要结论。 (4) 简要回答思考题。
} K = LH; while(J>=K) { J=J-K; K=(int)(K/2+0.5); } J=J+K;
} }
实验三: 用双线性变换法设计 IIR数字滤波器
1. 实验目的 (1) 熟悉用双线性变换法设计IIR数字滤波器的原理 与方法。 (2) 掌握数字滤波器的计算机仿真方法。 (3) 通过观察对实际心电图信号的滤波作用, 获得 数字滤波的感性知识。
0n3 4n7
其它n
4 n 0 n 3
x3(n) n 3 4 n 7
0
x4 (n)
cos
4
n
其它n
x5
(n)
sin
8
n
x6(n) cos8 t cos16 t cos 20 t
(4) 编写主程序。 图 1 给出了主程序框图, 供参考。 本实验提供 FFT子程序和通用绘图子程序。 (5) 按实验内容要求, 上机实验, 并写出实验 报告。
信号分析与处理MATLAB仿真实验报告

信号分析与处理MATLAB仿真实验报告2009.12.25院系:电气工程学院专业: 自动化班级:姓名:学号:实验7 离散时间序列的卷积实验目的:学会用MATLAB实现对离散时间序列的卷积,掌握利用h(n) 与输入x(n)卷积来求系统零状态响应的方法。
实验要求:使用MATLAB中求卷积函数的conv(),并对结果分析总结。
实验内容:LTI系统的单位脉冲响应为h(n)=(0.9)n ε(n),输入序列为x(n)=ε(n)- ε(n-10),求系统的输出y(n)。
程序function [y,ny]=conv_m(x,nx,h,nh);y=conv(x(5:45),h);ny=nh;y=y(1:41);subplot(3,1,1);stem(nx,x,'filled');axis([-4,40,0,1]);title('x[n]');subplot(3,1,2);stem(nh,h,'filled');axis([-4,40,0,1]);title('h[n]');subplot(3,1,3);stem(ny,y,'filled');axis([-4,40,0,8]);title('y[n]');实验结果:结果分析:改变参数以后的程序:function [y,ny]=conv_m(x,nx,h,nh);y=conv(x(5:45),h);ny=nh;y=y(1:41);subplot(3,1,1);stem(nx,x,'filled');axis([-4,40,0,1]);title('x[n]'); subplot(3,1,2);stem(nh,h,'filled');axis([-4,40,0,1]);title('h[n]'); subplot(3,1,3);stem(ny,y,'filled');axis([-4,40,0,2]);title('y[n]');输出结果:实验8 连续时间信号的卷积实验目的:学会用MATLAB实现对连续时间信号的卷积,掌握利用卷积的方法求系统零状态响应,并与离散系统比较。
MATLAB系统仿真试题复习资料,有答案

PART I 教材复习要点第一章 MATLAB 入门测试1.11.MATLAB 的命令窗口的作用是什么?编辑/调试窗口?图象窗口? MATLAB 命令窗口是MATLAB 起动时第一个看到的窗口,用户可以在命令窗口提示符">>"后面输入命令,这些命令会被立即执行。
命令窗口也可以用来执行M 文件。
编辑/调试窗口是用来新建,修改或调试M 文件的。
图像窗口用来显示MATLAB 的图形输出。
2.列出几种不同的得到MATLAB 帮助的方法。
(1)在命令窗口中输入help <command_name>,本命令将会在命令窗口中显示关于些命令的有信息。
(2)在命令窗口中输入lookfor <keyword>,本命令将会在命令窗口中显示所有的在第一注释行中包含该关键字的命令和函数。
(3)通过在命令窗口输入helpwin 或helpdesk 启动帮助浏览器,或者是在启动板中选择"Help"。
帮助浏览器包含了基于超文本的MATLAB 所有特性的描述,HTML 或PDF 格式的在线手册,这是MATLAB 最全面的帮助资源。
3.什么是工作区?在同一工作区内,你如何决定它里面存储了什么?工作区是命令、M 文件或函数执行时被MATLAB 使用的变量或数组的收集器,所有命令都在命令窗口(所有的脚本文件也是从命令窗口执行)共享公共工作区,因此它们也共享所有变量,工作区的内容可以通过whos 命令来查看,或者通过工作区浏览器来图形化地查看。
4.你怎样清空MATLAB 工作区内的内容?要清除工作区的内容,只需在命令窗口中输入clear 或clear variables 即可。
第二章MATLAB 基础测试2.11.数组,矩阵,向量有什么区别?数组是在内存中被组织成行和列的数据集合,只有一个名称,数据要通过在数组名后面圆括号里加上表示数据所在行和列的数字来访问。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一. 生成一个基频为20Hz ,幅度为±1的周期方波信号;(1)试确定该信号的周期?(2)画出该信号5个周期内的波形;画出该信号的幅度频谱图;(3)该信号谱线间隔和频带宽度是多少,对它进行时域采样,采样频率Fs 至少为多少?(4)设计一个IIR/FIR 低通滤波器,滤去该周期信号中80Hz 以后的频率成分,要求通带截止频率80Hz ,阻带截止频率90Hz ,通带纹波小于3dB ,阻带衰减大于50dB ,用matlab 命令画出滤波器的频率响应,以及滤波后的信号波形和频谱。
答:1.周期为0.05秒;3.谱线间隔为20Hz, 带宽为40Hz ,采样频率至少为80Hz 。
Fs=1000;N=256; % 时域/频率采样点t=0:1/Fs:(N-1)/Fs;x=square(2*pi*20*t); %产生幅度为[-1,1],频率为20Hz 的方波subplot(2,1,1) %方波绘图plot(t,x); title('5个周期的矩形波')axis([0,0.1,-1.5,1.5])T=0.05; %求方波的频谱t1=0:1/Fs:(T-1/Fs);xn=square(2*pi*20*t1);Xk=fft(xn,N);Xk=fftshift(abs(Xk));Xkl=Xk/N;subplot(2,1,2)plot(Fs/N*[0:1:N-1],Xkl)title('方波信号的频谱')[n,Wn]=buttord(80/500,90/500,3,50); %确定butterworth 滤波器的阶次 butterworth 低通滤波%器:通带截止频率80Hz ,阻带截止频率90Hz ,通带纹波小于3dB ,阻带衰减大于50dB ,%以上参数可以变化[b,a]=butter(n,Wn); %确定滤波器传递函数y=filter(b,a,x); %滤波figure %滤波器频率特性freqs(b,a); title('低通滤波器频率特性') ;figuresubplot(2,1,1)plot(t,y) ;title('矩形波通过低通滤波器后的波形') ;axis([0,0.1,-1.5,1.5])subplot(2,1,2)N=512; %可适当增减fy=fftshift(fft(y,N)); %矩形波通过低通滤波器后的频谱f=(-N/2:(N/2-1))*2; f=f*Fs/N;plot(f,abs(fy)/N) ;title('矩形波通过低通滤波器后的频谱')二.设有连续信号()cos(240)f t t π=⨯⨯,(1)利用DFT 计算该连续时间信号的频谱,采样频率至少应取多少?80HZ(2)以采样频率Hz F s 1000=对信号)(t f 采样得)(t f a ,请画出两个周期内的离散 信号)(t f a 的波形;[要求横坐标限定到0-0.3s ,纵坐标在-1.4—1.5之间](3)若以频率为100Hz 的余弦信号对信号)(t f 进行幅度调制,采样频率仍选取Hz F s 1000=,试画出调制信号()()*cos(2200)y t f t t π=⨯⨯的波形图和幅度频谱图。
(频谱图只显示-1000Hz 到1000HZ 范围,频谱图纵坐标要求是dB 为单位,单独画一幅图)(30分)(4)对y(t)进行解调:1()()*cos(2200)*cos(2200)y t f t t t ππ=⨯⨯⨯⨯,设计一个Butter-Worth 低通滤波器,要求从y 1(t)中恢复出原连续时间信号f(t),确定滤波器的参数,采样频率为1000Hz ;画出滤波器的幅频特性曲线及y 1(t)经过滤波器后的输出信号的时域波形。
(要求横坐标是Hz 为单位的频率)。
clear allclcFs=1000;Fc=200;N=512;n=0:1:N-1;t=n/Fs;fa=cos(2*pi*20*t);y=cos(2*pi*200*t).*fa;%调制stem(n/Fs,fa); %画调制信号title('采样信号 fa(t)')axis([0,0.3,-1.4,1.5])figure %画已调制信号波形和频谱subplot(2,1,1)plot(y);title('已调制信号')subplot(2,1,2)yk=fftshift(fft(y,N));f=(-N/2:(N/2-1))*2;f=f*Fs/N;plot(f,abs(yk))title('调制信号的频谱')[n,Wn]=buttord(60/500,100/500,3,50);%确定butterworth 滤波器阶次[b,a]=butter(n,Wn);%确定滤波器传递函数figurefreqs(b,a);%滤波器频率特性title('低通滤波器频率特性')y1=y.*cos(2*pi*200*t) %相干解调y=filter(b,a,y1); %滤波figureplot(t,y);title('调制信号y (t )通过滤波器后的波形')三.已知信号)1002sin()152sin()102sin()(t t t t x ⨯+⨯+⨯=πππ,(1)若对信号进行数字处理,采样频率理论上至少为多少Hz ?200Hz(2)该信号的频率分辨率是多少Hz ?在500Hz 采样频率下,若想区分三个正弦分量的频谱,采样点数至少为多少?128(3)在500Hz 采样频率绘制信号的时域波形,绘出信号的幅度频谱图。
(4)设计一个IIR 或FIR 滤波器,使)(t x 经过滤波器后,滤除)200sin(t π。
画出滤波器的频率响应特性图,画出滤波器的输出信号时域波形图。
clear allclcfs=500;n=[0:127];x=cos(2*pi*10*n/fs)+cos(2*pi*15*n/fs)+cos(2*pi*100*n/fs);x1=sin(200*pi*n/fs);subplot(2,1,1);plot(n/fs,x);title('signal x(t)')Xk=fft(x);Xk=fftshift(abs(Xk));subplot(2,1,2);plot(n/fs,Xk);title('信号幅度频谱图');[n,Wn]=buttord(10/500,100/500,3,50);%确定butterworth 滤波器阶次[b,a]=butter(n,Wn);%确定滤波器传递函数figurefreqs(b,a);%滤波器频率特性title('低通滤波器频率特性')y=filter(b,a,x1);%滤波figuren=[0:127];fs=500;plot(n/fs,y)title('x1通过低通滤波器后的波形')四,设有连续信号(t)cos(2 5.51000)cos(261000)cos(291000)a x t t t πππ=⨯⨯+⨯⨯+⨯⨯(1) 若利用DFT 计算该连续时间信号频谱,采样频率应该取多少?18000HZ(2) 为区分上述的三个频率分量,至少应该采集多少个样本?128(3) 一采样频率Fs=32kHz 对信号Xa(t)采样,画出Xa(t)的波形(4) 一采样频率Fs=32kHz 对信号Xa(t)采样,采样数据长度N=128点,做N=128点的DFT,并画出幅频特性.(5) 设计一个滤波器,滤除信号Xa(t)中频率为6kHz 和9kHz 的两个分量,画出滤波器的幅频特性曲线(6) 画出滤波器的输出信号的时域波形图.fs=32000;n=[0:127];x=cos(2*pi*5.5*1000*n/fs)+cos(2*pi*6*1000*n/fs)+cos(2*pi*9*1000*n/fs);subplot(2,1,1);plot(n/fs,x);title('signal x(t)')Xk=fft(x,128);magXk=abs(Xk);k1=0:127;w1=fs/256*k1;subplot(2,1,2);plot(w1,magXk);title('16点DTFT的幅值');xlabel('w(单位:Hz)')[n,Wn]=buttord(5500/16000,6000/16000,3,50);%确定butterworth滤波器阶次[b,a]=butter(n,Wn);%确定滤波器传递函数figurefreqs(b,a);%滤波器频率特性y=filter(b,a,x);%滤波figuren=[0:127];fs=32000;plot(n/fs,y)title('xa(t)通过低通滤波器后的波形')五,产生一个周期为0.01秒,幅值为-1到1的方波信号,画出信号的时域波形图;(1)该信号的谱线间隔是多少Hz?/频带宽度是多少Hz?(2)若利用DFT计算该连续时间信号的频谱,采样频率至少应取多少?(3)用Matlab画出该信号的幅度频谱图;(4)设计一个滤波器,滤除该信号的基波分量;画出滤波器的频响特性;(5)画出滤波器的输出信号的时域波形;答(1)谱线间隔是100Hz;频带宽度是200Hz’(2)采样频率至少应取400Hzclear allclcfs=1000;t=0:1/fs:0.1;x=square(2*pi*100*t);%产生幅度为[-1,+1]的方波plot(t,x)title('周期矩形波')axis([0,0.1,-1.5,1.5])%求周期矩形波的幅度频谱T=0.01;t1=0:1/fs:(T-1/fs);x1=square(2*pi*100*t1);Xk=fft(x1);Xk=(1/10)*(fftshift(abs(Xk)));figurestem((-fs/10)*(-5:4),Xk)title('周期矩形波的幅度频谱图')[n,Wn]=buttord(150/500,200/500,3,50);%确定butterworth滤波器阶次[b,a]=butter(n,Wn);%确定滤波器传递函数freqs(b,a);%滤波器频率特性title('低通滤波器频率特性')y=filter(b,a,x);%滤波figureplot(t,y)title('矩形波通过低通滤波器后的波形')axis([0,0.1,-1.5,1,5])六1.生成一个基频为10Hz,幅度为0到1,占空比为50%的周期矩形方波信号,画出该信号3个周期内的波形(要求横坐标限定在0到0.4秒之间,纵坐标限定在-0.3到+1.3之间);2.选取合适的采样频率,画出该信号的幅度频谱图,只显示-500Hz到+500Hz范围;3.设计一个带阻滤波器,要求该滤波器滤除掉频率为30Hz的三次谐波成分,用MATLAB命令只画出滤波器的幅度频谱响应特性曲线,要求纵坐标单位为dB。