• 优质范文
  • 工作总结
  • 工作计划
  • 作文大全
  • 心得体会
  • 述职报告
  • 实习报告
  • 写作方案
  • 教案反思
  • 演讲稿
  • 发言稿
  • 读书笔记
  • 精美散文
  • 读观后感
  • 范文大全
  • 当前位置: 博通范文网 > 发言稿 > 正文

    MATLAB信号与系统实验报告19472

    时间:2021-10-02 来源:博通范文网 本文已影响 博通范文网手机站

    信号与系统实验陈诉(5)

    MATLAB 综合实验 项目二

    连续系统的频域阐发 目的:

    周期信号输入连续系统的响应可用傅里叶级数阐发。由于盘算历程啰嗦,最适适用MATLAB 盘算。通过编程实现对输入信号、输出信号的频谱和时域响应的盘算,认识盘算机在系统阐发中的作用。

    任务:

    线性连续系统的系统函数为11) (jj H ,输入信号为周期矩形波如图 1 所示,用MATLAB 阐发系统的输入频谱、输出频谱以及系统的时域响应。

    -3 -2 -1 0 1 2 300.511.52Time(sec)

    图 1

    要领:

    1、确定周期信号 f(t)的频谱nF。基波频率 Ω。

    2、确定系统函数 ) (  jn H 。

    3、盘算输出信号的频谱

    n nF jn H Y ) (  

    4、系统的时域响应

     nt jnn eY t y) (

    MATLAB 盘算为

    y=Y_n*exp(j*w0*n"*t);

    要求(画出 3 幅图):

    1、在一幅图中画输入信号 f(t)和输入信号幅度频谱|F(j)|。用两个子图画出。

    2、画出系统函数的幅度频谱|H(j)|。

    3、在一幅图中画输出信号 y(t)和输出信号幅度频谱|Y(j)|。用两个子图画出。

    解: (1) 阐发盘算:

    输入信号的频谱为

    (n ) 输入信号最小周期为 =2,脉冲宽度 ,基波频率Ω=2π/ =π,

    所以

    (n ) 系统函数为

    因此

    输出信号的频谱为

    系统响应为

    (2) 步伐:

    t=linspace(-3,3,300);

    tau_T=1/4;

    %

    n0=-20;n1=20;

    n=n0:n1;

    %盘算谐波次数20

    F_n=tau_T*Sa(tau_T*pi*n);

    f=2*(rectpuls(t+1.75,0.5)+rectpuls(t-0.25,0.5)+rectpuls(t-2.25,0.5));

    figure(1),subplot(2,1,1),line(t,f,"linewidth",2);

    %输入信号的波形 axis([-3,3,-0.1,2.1]);grid on

    xlabel("Time(sec)","fontsize",8),title("输入信号","fontweight","bold") %设定字体巨细,文本字符的粗细

    text(-0.4,0.8,"f(t)")

    subplot(2,1,2),stem(n,abs(F_n),".");

    %输入信号的幅度频谱 xlabel("n","fontsize",8),title("输入信号的幅度频谱","fontweight","bold")

    text(-4.0,0.2,"|Fn|")

    H_n=1./(i*n*pi+1);

    figure(2),stem(n,abs(H_n),".");

    %系统函数的幅度频谱 xlabel("n","fontsize",8),title("系统函数的幅度频谱","fontweight","bold")

    text(-2.5,0.5,"|Hn|")

    Y_n=H_n.*F_n; y=Y_n*exp(i*pi*n"*t);

    figure(3),subplot(2,1,1),line(t,y,"linewidth",2);

    %输出信号的波形 axis([-3,3,0,0.5]);grid on

    xlabel("Time(sec)","fontsize",8),title("输出信号","fontweight","bold")

    text(-0.4,0.3,"y(t)")

    subplot(2,1,2),stem(n,abs(Y_n),".");

    %输出信号的幅度频谱 xlabel("n","fontsize",8),title("输出信号的幅度频谱","fontweight","bold")

    text(-4.0,0.2,"|Yn|")

    (3) 波形:

    -3 -2 -1 0 1 2 300.511.52Time(sec)输 入 信 号f(t)-20 -15 -10 -5 0 5 10 15 2000.10.20.30.4n输 入 信 号 的 幅 度 频 谱|Fn|-20 -15 -10 -5 0 5 10 15 2000.10.20.30.40.50.60.70.80.91n系 统 函 数 的 幅 度 频 谱|Hn|

    -3 -2 -1 0 1 2 300.10.20.30.4Time(sec)输 出 信 号y(t)-20 -15 -10 -5 0 5 10 15 2000.10.20.30.4n输 出 信 号 的 幅 度 频 谱|Yn|

    项目三

    连续系统的复频域阐发 目的:

    周期信号输入连续系统的响应也可用拉氏变更阐发。用 MATLAB 的标记盘算成果,通过编程实现对系统瞬态响应和稳态响应的阐发,加深理解拉氏变更在阐发系统中的作用。

    任务:

    线性连续系统的系统函数为11) (ss H ,输入信号为周期矩形波如图2所示,用MATLAB阐发系统的响应和稳态响应。

    0 1 2 3 4 5 6 700.511.52Time(sec)

    图 2

    要领:

    1、确定第一个周期拉氏变更 ) (0s F 。

    2、确定前 6 个周期的拉氏变更 ) (s F 。

    3、盘算输出信号的拉氏变更

    ) ( ) ( ) ( s F s H s Y 

    4、系统的时域响应

    ) ( ) ( s Y t y 

    MATLAB 盘算为

    y=ilaplace(Y); 5、系统的稳态响应和稳态值,即经过 4 个周期后,系统响应趋于稳态,两个稳态值可取为

    t=8s 和 t=8.5s

    要求:

    1、画出输入信号 f(t)波形。

    2、画出系统输出信号 y(t)的波形。

    3、画出系统稳态响应 yss(t)的波形,4 个周期后。并盘算出稳态值。

    解: (1)步伐 syms s;

    H=1/(s+1);

    F0=1/s*(1-exp(-0.5*s));

    %输入信号第一个周期的laplace变更

    F=F0+F0*exp(-2*s)+F0*exp(-4*s)+F0*exp(-6*s);

    Y=H.*F;

    Y0=H.*F0;

    y=ilaplace(Y);

    y=simple(y);

    t=linspace(0,12,300);

    f=2*(rectpuls(t-0.25,0.5)+rectpuls(t-2.25,0.5)+rectpuls(t-4.25,0.5)+rectpuls(t-6.25,0.5));

    yn=subs(y);

    %标记替换

    figure(1),plot(t,f,"linewidth",2);

    axis([0,7,-0.2,2.2]),xlabel("Time(sec)","fontsize",8),title("输入信号","fontweight","bold")

    text(3.0,1.0,"f(t)")

    figure(2),plot(t,yn,"linewidth",2);

    axis([0,7,-0.1,0.5]),xlabel("Time(sec)","fontsize",8),title("输出信号","fontweight","bold")

    text(3.0,0.3,"y(t)")

    figure(3),plot(t,yn,"linewidth",2);

    axis([8,12,-0.1,0.5]),xlabel("Time(sec)","fontsize",8),title("输出信号稳态响应","fontweight","bold")

    text(10.0,0.2,"ys(t)")

    t=8:0.5:8.5;

    %取t=8s和t=8.5两个稳态值

    ys=subs(y,t,"t");

    disp("输入为周期信号的响应的第一个周期");

    y0=ilaplace(Y0);

    pretty(y0);

    %标记输出类似数值形式

    disp("输出稳态周期信号的两个值");

    ys

    (2)波形

    0 1 2 3 4 5 6 700.511.52Time( s ec )输 入 信 号f(t)

    0 1 2 3 4 5 6 7-0.100.10.20.30.4Time(sec)输 出 信 号y(t) 8 8.5 9 9.5 10 10.5 11 11.5 12-0.100.10.20.30.4Time(sec)输 出 信 号 稳 态 响 应ys(t)

    命令窗口显示:

    输入为周期信号的响应的第一个周期

    heaviside(t - 1/2) (exp(1/2 - t) - 1) - exp(-t) + 1 输出稳态周期信号的两个值 ys =

    0.1015

    0.0616

    感觉非常棒的范文。

    要是多几篇这么认真的好范文就好了。

    院系:

    年级:

    姓名:

    实验时间:

    实验地点:

    MATLAB实验报告

    专业:

    班号:

    学号:

    1

    《信号与系统》

    实验一 连续时间信号的表示及可视化

    实验题目:

    f(t)(t);f(t)(t);f(t)eat(分别取a0及a0); f(t)R(t);f(t)Sa(t);f(t)Sin(2ft)(分别画出不同周期个数的波形)。

    解题分析:

    以上各类连续函数,先运用t = t1: p:t2的命令定义时间范围向量,然后调用对应的函数,建立f与t的关系,最后调用plot()函数绘制图像,并用axis()函数限制其坐标范围。

    实验程序:

    (1)f(t)(t)

    t=-1:0.01:3 %设定时间变量t的范围及步长 f=dirac(t) %调用冲激函数dirac() plot(t,f) %用plot函数绘制连续函数 axis([-1,3,-0.5,1.5]) %用axis函数规定横纵坐标的范围 (2)f(t)(t)

    t=-1:0.01:3 %设定时间变量t的范围及步长 f=heaviside(t) %调用阶跃函数heaviside() plot(t,f) %用plot函数绘制连续函数 title(\\"f(t)=heaviside(t)\\") %用title函数设置图形的名称 axis([-1,3,-0.5,1.5]) %用axis函数规定横纵坐标的范围 (3)f(t)eat

    a=1时:

    t=-5:0.01:5 %设定时间变量t的范围及步长 f=exp(t) %调用指数函数exp()

    plot(t,f) %用plot函数绘制连续函数 title(\\"f=exp(t)\\") %用title函数设置图形的名称 axis([-5,5,-1,100]) %用axis函数规定横纵坐标的范围 a=2时:

    t=-5:0.01:5 f=exp(2*t) %调用指数函数exp() plot(t,f) title(\\"f=exp(2*t)\\") axis([-5,5,-1,100]) a=-2时: t=-5:0.01:5 f=exp(-2*t) plot(t,f) title(\\"f=exp(-2*t)\\") axis([-5,5,-1,100]) (4)f(t)R(t)

    t=-5:0.01:5 f=rectpuls(t,2) %用rectpuls(t,a)表示门函数,默认以零点为中心,宽度为a plot(t,f) title(\\"f=R(t)\\") axis([-5 5 -0.5 1.5]) (5)f(t)Sa(t)

    ω=1时: t=-20:0.01:20 f=sin(t)./t %调用正弦函数sin(),并用sin(t)./t实现抽样函数 plot(t,f) title(\\"f(t)=Sa(t)\\") axis([-20,-20,-0.5,1.1]) 3

    ω=5时: t=-20:0.01:20 f=sin(5*t)./(5*t) plot(t,f) title(\\"f(t)=Sa(5*t)\\") axis([-20,-20,-0.5,1.1]) (6)f(t)Sin(2ft)

    ω=1时: t=-10:0.01:10 f=sin(t) %plot(t,f); title(\\"f=sin(t)\\") axis([-10,10,-2,2]) ω=5时: t=-10:0.01:10 f=sin(5*t) plot(t,f); title(\\"f=sin(5*t)\\") axis([-10,10,-2,2])

    实验结果;

    (1)

    调用正弦函数sin() 4

    1.510.50-0.5-1-0.500.511.522.532)

    f(t)=heaviside(t)1.510.50-0.5-1-0.500.511.522.533)

    5 ((

    a=1时:

    f=exp(t)1009080706050403020100-5-4-3-2-1012345a=2时:

    f=exp(2*t)1009080706050403020100-5-4-3-2-1012345

    a=-2时:

    f=exp(-2*t)1009080706050403020100-5-4-3-2-1012345(4)

    f=R(t)1.510.50-0.5-5-4-3-2-1012345

    (5) ω=1时:

    f(t)=Sa(t)10.80.60.40.20-0.2-0.4-20-15-10-505101520ω=5时:

    f(t)=Sa(5*t)10.80.60.40.20-0.2-0.4-20-15-10-505101520(6) ω=1时:

    f=sin(t)21.510.50-0.5-1-1.5-2-10-8-6-4-20246810

    ω=5时:

    f=sin(5*t)21.510.50-0.5-1-1.5-2-10-8-6-4-20246810

    实验心得体会: (1) 在 MATLAB中,是用连续信号在等时间间隔点的样值来近似地表示连续信号的,当取样时间间隔足够小时,这些离散的样值就能较好地近似出连续信号。在 MATLAB 中t = t1: p: t2的命令定义时间范围向量,t1为信号起始时间,t2为终止时间,p为时间间隔。

    (2)plot( )函数可用于连续函数的绘制。

    (3)用axis()函数限制坐标范围,可使图像更加匀称美观。

    改进想法:

    本题中函数的表示方法都不只一种。如阶跃函数可以借助符号函数来实现可视化。其程序和结果如下: t=-5:0.05:5 f=sign(t) %调用符号函数sign() axis([-5,5,-1.1,1.1])

    ff=1/2+1/2*f %运用阶跃函数与符号函数的关系,表示出阶跃函数ff plot(t,ff) axis([-5,5,-0.1,1.1])

    f=heaviside(t)10.80.60.40.20-5-4-3-2-1012345

    实验二 离散时间信号的表示及可视化

    实验题目:

    f(n)(n);f(n)(n);f(n)ean(分别取a0及a0);

    f(n)RN(n)(分别取不同的N值);f(n)Sa(n); f(n)Sin(n)(分别取不同的值);

    解题分析:

    以上各类离散函数,可仿照连续函数的可视化,先运用n =n1: p: n2的命令定义自变量的范围及步长,然后调用对应的函数,建立f与t的关系,最后调用stem()函数绘制图像,并用axis()函数限制其坐标范围。

    实验程序:

    (1)f(n)(n)

    n=-5:0.5:5 %设定时间变量n的范围及步长 f=dirac(n) stem(n,f) %调用stem()绘制离散函数 title(\\"f=dirac(t)\\") axis([-5,5,-3,10]) %用axis函数规定横纵坐标的范围 (2)f(n)(n)

    n=-5:0.5:5 f=heaviside(n) stem(n,f) title(\\"f=Heaviside(t)\\") axis([-5,5,-0.5,1.5]) (3)f(n)ean

    a=1时:

    n=-5:0.5:5 f=exp(n) stem(n,f) title(\\"f=exp(n)\\") a=2时: n=-5:0.5:5 f=exp(2*n) stem(n,f) title(\\"f=exp(2*n)\\") a=-2时: n=-5:0.5:5 f=exp(-2*n) stem(n,f) title(\\"f=exp(-2*n)\\") (4)f(n)RN(n)

    n=-5:0.5:5 f=rectpuls(n,2) stem(n,f) title(\\"f=R(n)\\") axis([-5,5,-0.5,1.5]) (5)f(n)Sa(n)

    ω=1时: n=-20:0.5:20 f=sin(n)./(n) stem(n,f) title(\\"f=Sa(n)\\") axis([-20,-20,-0.5,1.1]) ω=5时: n=-20:0.5:20 f=sin(5*n)./(5*n) 13

    stem(n,f) title(\\"f=Sa(5*n)\\") axis([-20,-20,-1,5]) (6)f(n)Sin(n)

    ω=1时: n=-5:0.5:5 f=sin(n) stem(n,f) title(\\"f=sin(n)\\") axis([-5,5,-2,2]) ω=5时: n=-5:0.5:5 f=sin(5*n) stem(n,f) title(\\"f=sin(5*n)\\") axis([-5,5,-2,2])

    实验结果;

    (1)

    f=dirac(t)1086420-2-5-4-3-2-10123452)

    f=Heaviside(t)1.510.50-0.5-5-4-3-2-10123453)

    15 ((

    a=1时:

    f=exp(n)150100500-5-4-3-2-1012345a=2时:

    2.5x 104f=exp(2*n)21.510.50-5-4-3-2-1012345

    a=-2时:

    4f=exp(-2*n)2.5x 1021.510.50-5-4-3-2-1012345(4)

    f=R(n)1.510.50-0.5-5-4-3-2-1012345

    (5) ω=1时:

    f=Sa(n)10.80.60.40.20-0.2-0.4-20-15-10-505101520ω=5时:

    f=Sa(5*n)0.250.20.150.10.050-0.05-0.1-0.15-0.2-20-15-10-505101520(6) ω=1时:

    f=sin(n)21.510.50-0.5-1-1.5-2-5-4-3-2-1012345

    ω=5时:

    f=sin(5*n)21.510.50-0.5-1-1.5-2-5-4-3-2-1012345

    实验心得体会: 用plot()函数可以绘制离散序列,但是与连续序列有所不同,需要在括号内加上\\".\\"。但是plot()画出来的函数图像不直观,显得很凌乱。

    改进想法:

    (1)对于离散函数,如果使用stem(n,f, \\".\\")函数,绘图效果更好。如抽样函数的程序: n=-20:0.5:20 f=sin(n)./(n) stem(n,f,\\".\\") title(\\"f=Sa(n)\\") axis([-20,-20,-0.5,1.1]) 绘图结果如下:

    f=Sa(n)10.80.60.40.20-0.2-0.4-20-15-10-505101520

    对比可知此法做出的图像更加清晰美观。

    (2)MATLAB 可以自动地根据曲线数据的范围选择合适的坐标系,从而使得曲线尽可能清晰地显示出来,一般情况下不必选择坐标系。但是,如果对 MATLAB自动产生的坐标轴不满意,可以利用 axis 命令对坐标轴进行调整。

    21

    实验三 系统的时域求解

    实验题目:

    1.设h(n)(0.9)nu(n),x(n)u(n)u(n10),求y(n)x(n)*h(n),并画出x(n)、h(n)、y(n)波形。

    y(n)0.81y(n2)x(n)x(n2)的单位

    j2.求因果线性移不变系统抽样响应h(n),并绘出H(e)的幅频及相频特性曲线。

    解题分析:

    1.用heaviside()和exp()函数 表示出x(n) 和h(n),然后调用conv()函数实现x(n) 和h(n)的卷积y(n)。并且分别将三个函数图像绘出。

    2.通过给矩阵a,b赋值,建立系统差分方程,然后调用impz()函数求系统的冲激响应,再用函数freqs(b,a)进行系统频率响应的分析。

    实验程序:

    (1)

    n=-10:20 %设置变量范围,默认步长为1 f=heaviside(n) x=heaviside(n)-heaviside(n-10) %阶跃函数直接相减 figure(1) %产生图像窗口1 stem(n,x) %绘制函数x title(\\"x(n)\\") h=0.9.^n.*f %函数h的表达式 figure(2) %产生图像窗口2 stem(n,h) %绘制函数h title(\\"h(n)\\") n1=-20:40 y=conv(h,x) %调用conv()函数求h和x的卷积

    22

    figure(3) %产生图像窗口3 stem(y) %绘制函数y title(\\"y(n)=x(n)*h(n)\\") (2)

    a=[1 0 -0.81] %描述系统的差分方程的系数 b=[1 0 -1] %描述系统的差分方程的系数 figure(1) h=impz(n,m,-10:10) %调用impz()函数求系统的冲激响应 stem(h) %绘制函数h的离散序列 title(\\"h(n)\\") figure(2) freqs(b,a) %对连续系统频率响应H(jw)进行分析的函数freqs()

    实验结果;

    (1)

    x(n)10.90.80.70.60.50.40.30.20.10-10-505101520

    23

    h(n)0.90.80.70.60.50.40.30.20.10-10-505101520y(n)=x(n)*h(n)65432100102030405060702)

    24

    ( h(n)1.210.80.60.40.20-0.20510152025

    100.09udeti100.05agnM100.0110-210-1100101Frequency (rad/s)1)s0.5reeeg(d0e hasP-0.5-110-210-1100101Frequency (rad/s)

    实验心得体会:

    25

    (1)计算离散序列的卷积时,应考虑其结果的横坐标范围的改变。 (2)向量相乘时,注意用‘ .’。

    (3)借助MATLAB的内部函数conv()可以很容易地完成两个信号的卷积运算,并且其完成的是两个多项式的乘法运算,在MATLAB中它们的系数构成一个行向量来表示。

    (3)表示系统的方法是用系统函数分子和分母多项式系数行向量来表示。

    改进想法:

    (1)n=-10:20 %f=heaviside(n) x=heaviside(n)-heaviside(n-10) %figure(1) %axis([-10,20,0,1]) stem(n,x) %title(\\"x(n)\\") h=0.9.^n.*f %figure(2) %stem(n,h) %axis([-10,20,0,1]) title(\\"h(n)\\") n1=-20:40 y=conv(h,x) %figure(3) %stem(y) %axis([0,62,0,7]) title(\\"y(n)=x(n)*h(n)\\")

    运行结果:

    设置变量范围,默认步长为1

    阶跃函数直接相减 产生图像窗口1 绘制函数x 函数h的表达式 产生图像窗口2 绘制函数h 调用conv函数求h和x的卷积 产生图像窗口3 绘制函数y 26

    x(n)10.90.80.70.60.50.40.30.20.10-10-505101520h(n)10.90.80.70.60.50.40.30.20.10-10-505101520

    27

    y(n)=x(n)*h(n)765432100102030405060

    28

    实验四 信号的DFT分析

    实验题目:

    计算余弦序列x(n)cos(8n)RN(n)的DFT。分别对N=

    10、

    16、22时计算DFT,绘出X(k)幅频特性曲线,分析是否有差别及产生差别的原因。

    解题分析:

    用矩阵代替门函数给变量n赋值,并设定不同的N值,然后调用fft()函数实现函数的傅里叶变换,然后用subplot()和stem()函数绘图。

    实验程序:

    (1)N=10时:

    N=10 %设定N的值为10 n=[0:N-1] %用矩阵代替门函数给n赋值 x=cos((pi/8).*n) %调用cos()函数

    y=fft(x) %调用fft()函数求x的傅里叶变换 subplot(2,1,1),stem(n,y) %绘制y的离散图 title(\\"DFT[cos((pi/8)*n]\\") subplot(2,1,2),stem(n,abs(y)) %绘制y的幅频特性曲线 title(\\"X(k)\\") (2)N=16时:

    N=16 %设定N的值为16 n=[0:N-1] %用矩阵代替门函数给n赋值 x=cos((pi/8).*n) %调用cos()函数

    y=fft(x) %调用fft()函数求x的傅里叶变换 subplot(2,1,1),stem(n,y) %绘制y的离散图 title(\\"DFT[cos((pi/8)*n]\\") subplot(2,1,2),stem(n,abs(y)) %绘制y的幅频特性曲线

    29

    title(\\"X(k)\\") (3)N=22时:

    N=22 %设定N的值为22 n=[0:N-1] %用矩阵代替门函数给n赋值 x=cos((pi/8).*n) %调用cos()函数

    y=fft(x) %调用fft()函数求x的傅里叶变换 subplot(2,1,1),stem(n,y) %绘制y的离散图 title(\\"DFT[cos((pi/8)*n]\\") subplot(2,1,2),stem(n,abs(y)) %绘制y的幅频特性曲线 title(\\"X(k)\\")

    实验结果;

    (1)N=10时:

    DFT[cos((pi/8)*n]3210-10123456789X(k)64200123456789(2)N=16时:

    30

    DFT[cos((pi/8)*n]1050-5051015X(k)864200510153)N=22时:

    DFT[cos((pi/8)*n]6420-20510152025X(k)1050051015202531 (

    实验结果分析:

    由图可知,不同的N值所对应的DFT序列和幅频响应不同,是因为N代表DFT的变换区间长度,当N取不同的值时,函数所对应的离散傅里叶变换和幅频特性曲线也不同。

    实验心得体会: MATLAB是计算机运算,无法实现无限时间信号和无限大数量的计算,故而周期信号只能取有限个谐波分量近似合成,即N值有限,且N值越大,仿真结果越接近。所以手工求取的傅里叶变换系数与MATLAB求取存在差别。

    32

    实验五 系统时域解的快速卷积求法

    实验题目:

    用快速卷积法计算系统响应

    y(n)x(n)*h(n),已知:

    x(n)sin(0.4n)R15(n),h(n)0.9nR20(n)。要求取不同的L点数,并画出x(n)、h(n)、y(n)波形,分析是否有差别及产生差别的原因。

    解题分析:

    根据离散序列卷积及傅里叶变换的性质,可先求出两函数x(n)和h(n)的L点傅里叶变换,分别得到Xk和Yk,然后求Xk和Yk之积Hk的傅里叶反变换,即得到了x(n)和h(n)的卷积y(n)。

    实验程序:

    L=10时:

    n1=[0:14] %用矩阵代替门函数给n1赋值 x=sin(0.4.*n1) %写出x的表达式 n2=[0:19] %给n2赋值 y=0.9.^n2 %写出y的表达式

    Xk=fft(x,10) %调用fft()函数求x的L(=10)点傅里叶变换 Yk=fft(y,10) %求y的L点傅里叶变换 Hk=Xk.*Yk %写出Hk的表达式

    h=ifft(Hk) %调用ifft()函数求Hk的傅里叶反变换 subplot(3,1,1),stem(x) %绘制x的离散图 title(\\"x(n)\\") subplot(3,1,2),stem(y) %绘制y的离散图 title(\\"y(n)\\") subplot(3,1,3),stem(h) %绘制h的离散图 title(\\"h(n)\\") xlabel(\\"L=10\\") %横坐标处做标注

    33

    (2)L=18时: n1=[0:14] x=sin(0.4.*n1) n2=[0:19] y=0.9.^n2 Xk=fft(x,18) Yk=fft(y,18) Hk=Xk.*Yk h=ifft(Hk) subplot(3,1,1),stem(x) title(\\"x(n)\\") subplot(3,1,2),stem(y) title(\\"y(n)\\") subplot(3,1,3),stem(h) title(\\"h(n)\\") xlabel(\\"L=18\\") (3)L=28时: n1=[0:14] x=sin(0.4.*n1) n2=[0:19] y=0.9.^n2 Xk=fft(x,28) Yk=fft(y,28) Hk=Xk.*Yk h=ifft(Hk) subplot(3,1,1),stem(x) title(\\"x(n)\\") subplot(3,1,2),stem(y) title(\\"y(n)\\") subplot(3,1,3),stem(h) title(\\"h(n)\\") 34

    xlabel(\\"L=28\\") (4)L=35时: n1=[0:14] x=sin(0.4.*n1) n2=[0:19] y=0.9.^n2 Xk=fft(x,35) Yk=fft(y,35) Hk=Xk.*Yk h=ifft(Hk) subplot(3,1,1),stem(x) title(\\"x(n)\\") subplot(3,1,2),stem(y) title(\\"y(n)\\") subplot(3,1,3),stem(h) title(\\"h(n)\\") xlabel(\\"L=35\\")

    实验结果;

    (1)L=10时:

    35

    x(n)10-1051015y(n)10.5002468101214161820h(n)42012345678910L=102)L=18时:

    x(n)10-1051015y(n)10.5002468101214161820h(n)50-5024681012141618L=183)L=28时:

    36 ((

    x(n)10-1051015y(n)10.5002468101214161820h(n)50-5051015202530L=284)L=35时:

    x(n)10-1051015y(n)10.5002468101214161820h(n)50-505101520253035L=35

    37 (

    实验结果分析:

    由图可知,当L取不同的值时,对应的y(n)波形形状相似,但是有所不同,产生这种差别的原因是L代表傅里叶变换区间长度,当L取不同的值时,所对应的函数波形也有所差别。

    实验心得体会: (1)计算离散序列的卷积,虽然本实验的快速卷积方法看上去多次变换了变量的域,使过程变复杂了,但实际上减少了计算量,是一种快速而简单的方法。 (2)用subplot绘图函数可将图形窗口分成若干等份,便于将多个图像进行分组或者比较。

    改进想法:

    当L取不同的值时,matlab自动生成的图像的横纵坐标范围不同,不便于相互比较,因此可以自己规定坐标轴范围,这样可以更加直观地看出各波形间的差别。

    38

    推荐访问:信号 实验 报告

    • 读/观后感
    • 精美散文
    • 读书笔记
    • 演讲
    • 反思
    • 方案
    • 心得体会