_第9章 MATLAB在信号和系统中的应用举例.ppt

_第9章 MATLAB在信号和系统中的应用举例.ppt

  1. 1、本文档共76页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
_第9章 MATLAB在信号和系统中的应用举例

图 9-5 多级放大器的频率特性   【例 9-1-5】 设方波信号的宽度为5 s,信号持续期为10 s,试求其在0~20(1/s) 频段间的频谱特性。如只取0~10(1/s)的频谱分量(相当于通过了一个低通滤波器),求其输出波形。   解:   ◆ 建模   设信号的时域波形为f(t),在0~10 s的区间外信号为0,则其傅里叶变换为   按MATLAB作数值计算的要求,必须把t分成N份,用相加来代替积分,对于任一给定的ω,可写成 这说明求和的问题可以用f(t)行向量乘以ejωt列向量来实现。此处的Δt是t的增量,在程序中,将用dt来代替。   由于要求出一系列不同的ω处的F值都用同一公式,因此可以利用MATLAB中的元素群运算功能,把ω设成一个行数组,分别代入本公式左右端的ω中去,写成 (程序中把ω写成w) F=f*exp(-j*t′*w)·Δt 其中,F是与w等长的行向量,exp中的t′是列向量,w是行向量,t′*w是一个矩阵,其行数与t相同,列数与w相同。这个矩阵乘式就完成了傅里叶变换。类似地可以得到傅里叶逆变换表示式。由此得到下面的傅里叶变换程序。   ◆ MATLAB程序    clear,tf=10; N=256;    t=linspace(0,tf,N); %给出时间分割   w1=linspace(eps,20,N); dw=20/(N-1);    %dw=1/4/tf; w1 =[eps∶dw∶(N-1)/4/tf]; %给出频率分割    f=[ones(1,N/2),zeros(1,N/2)]; %给出信号(此处是方波)    F1=f*exp(-j*t′*w1)*tf/(N-1); %求傅里叶变换    w=[-fliplr(w1),w1(2∶N)]; %补上负频率 F=[fliplr(F1),F1(2∶N)]; %补上负频率区的频谱 w2=w(N/2∶3*N/2); %取出中段频率 F2=F(N/2∶3*N/2); %取出中段频谱 subplot(1,2,1),plot(w,abs(F),′linewidth′,1.5),grid f1=F2*exp(j*w2′*t)/pi*dw; %对中段频谱求傅里叶逆变换 subplot(1,2,2),plot(t,f,t,f1,′linewidth′,1.5),grid   ◆ 程序运行结果   执行这个程序的结果如图9-6所示,因为方波含有很丰富的高频分量,要充分恢复其原来波形需要很宽的频带,实践中不可能完全做到。 图 9-6 方波信号的频谱和取|ω|<10部分频谱的逆变换波形 (a) 方波信号的频谱; (b) 取|ω|10部分频谱的逆变换波形 9.2 离散信号和系统   信号可以分为模拟信号和数字信号。模拟信号用x(t)表示,其中变量t代表时间。离散信号用x(n)表示,其中变量n为整数并代表时间的离散时刻,因此它也称为离散时间信号。离散信号是一个数字的序列,并可以表述为 其中,向上的箭头表示在n=0处的取样。   在MATLAB中,可以用一个向量x来表示一个有限长度的序列。然而这样一个向量并没有包含基准采样位置的信息。因此,完全地表示x(n)要用x和n两个向量。例如序列 x(n)={2,1,-1,  ,1,4,3,7}(下面的箭头为第0个采样点),在MATLAB中表示为 n = [-3,-2,-1,0,1,2,3,4], x=[2,1,-1,5,1,4,3,7]   当不需要采样位置信息时,可以只用x向量来表示。由于内存有限,因此MATLAB无法表示无限序列。   【例 9-2-1】 编写MATLAB程序来产生下列基本脉冲序列。   (1) 单位脉冲序列:起点n0,终点nf,在ns处有一单位脉冲(n0≤ns≤nf)。   (2) 单位阶跃序列:起点n0,终点nf,在ns前为0,在ns处及以后为1(n0≤ns≤nf)。   (3) 实数指数序列: x3=(0.9)n。   (4) 复数指数序列: x4=e(-0.2+0.3j)n。   解:   ◆ 建模   这些基本序列的表达式比较简明,编写程序也不难。对单位脉冲序列,我们提供了直接赋值和逻辑关系两种方法,其中用逻辑关系的编法比较简洁,读者从中可看到MATLAB编程的灵活性和技巧性。通常用stem语句来绘制离散序列。   ◆ MATLAB程序   clear,no=0; nf=10; ns=3;   n1=n

文档评论(0)

叮当文档 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档