Simulink建模与仿真资源 第10-11章 教学课件 ppt 作者 姚俊_ 第11章 DSP Blockset

上传人:E**** 文档编号:89350213 上传时间:2019-05-23 格式:PPT 页数:59 大小:1.40MB
返回 下载 相关 举报
Simulink建模与仿真资源 第10-11章 教学课件 ppt 作者 姚俊_ 第11章  DSP Blockset_第1页
第1页 / 共59页
Simulink建模与仿真资源 第10-11章 教学课件 ppt 作者 姚俊_ 第11章  DSP Blockset_第2页
第2页 / 共59页
Simulink建模与仿真资源 第10-11章 教学课件 ppt 作者 姚俊_ 第11章  DSP Blockset_第3页
第3页 / 共59页
Simulink建模与仿真资源 第10-11章 教学课件 ppt 作者 姚俊_ 第11章  DSP Blockset_第4页
第4页 / 共59页
Simulink建模与仿真资源 第10-11章 教学课件 ppt 作者 姚俊_ 第11章  DSP Blockset_第5页
第5页 / 共59页
点击查看更多>>
资源描述

《Simulink建模与仿真资源 第10-11章 教学课件 ppt 作者 姚俊_ 第11章 DSP Blockset》由会员分享,可在线阅读,更多相关《Simulink建模与仿真资源 第10-11章 教学课件 ppt 作者 姚俊_ 第11章 DSP Blockset(59页珍藏版)》请在金锄头文库上搜索。

1、第11章 DSP Blockset,11.1 DSP处理单元:帧 11.2 DSP Blockset模块库介绍,11.1 DSP处理单元:帧,11.1.1 基于帧的信号处理 大多数实时的数字信号处理系统都采用基于帧的处理方式,以提高系统性能,这里每帧包含相邻的多个或者一组信号采样。采用基于帧的处理方式更适合多数的数字信号处理算法,另外也可降低系统对数据采集硬件的要求。缺省情况下,Simulink所有信号都是基于采样的。,表11.1 基于采样的信号和基于帧的信号,之所以采用基于帧的处理主要是考虑到数字信号处理本身的要求和数据通讯的开销。显然,基于帧的信号处理应当比基于采样的处理要复杂得多,但是S

2、imulink利用MATLAB的矩阵功能极大地提高了处理的效率。通过基于帧的处理,减少了块与块之间的通讯,从而比使用基于采样的信号进行仿真快得多。总之,利用基于帧的信号提高了仿真速度。而且,由于同样的原因,大多数DSP系统也采用基于帧的处理。除此之外,基于帧的处理提供了在仿真中进行频域分析的能力。,Simulink的所有模块都支持基于帧的处理,使得用户可以方便地采用基于帧的信号进行算法仿真以及结合RTW产生实时代码。 图11.1说明了从连续信号经过AD采样得到采样信号,然后将采样信号组织成帧,送往Simulink处理的过程。,图11.1 基于帧的信号处理,1. 缓冲和解缓冲 在Simulink

3、中采样信号和帧信号之间的转换是通过缓冲模块(Buffer)来实现的。Buffer 块有两种用途:一是接受采样输入并产生一定帧大小的帧输入;二是接受帧输入,修改帧的大小,这种情况下必须使用缓冲模块。这两种情况下都涉及到帧之间的重叠和帧的初始值的设置问题。当通过采样产生帧时,缓冲使用输入标量生成一个列向量,如图11.2所示。如果需要从一个帧信号产生一个采样信号,则应使用Unbuffer模块。,Source库中的许多信号源模块同样提供基于帧的输出,当然使用这些模块作为输入信号时,就无需使用Buffer块,只需设置块的帧长参数就可以了。,图11.2 缓冲模块,2. 帧的表示 通常,一帧是通过一个矩阵表

4、示的。在帧矩阵中,每个通道的信号对应矩阵中的一列,每个采样对应其中的一行(如图11.3所示)。在基于帧的处理中,各个模块沿着输入的每一列(通道)进行运算。图11.3中有四个信号通道,每帧有两个采样,帧和帧之间没有重叠。通常每帧的采样数是2的幂次,以满足FFT变换的需要。,图11.3 帧矩阵,3. 生成基于帧的信号 主要有三种方法用来生成基于帧的多通道信号。 (1) DSP模块库中信号源库DSP Sources中的块提供了信号源块,用于生成基于帧的信号。 (2) 所有的信号都可以通过缓冲块成为帧。 (3) 将从若干个基于帧的信号源来的信号通过矩阵 拼接成一个帧矩阵,形成一个多路信号。,图11.4

5、 DSP Constant 模块设置,4. 观察基于帧的信号 用户可以使用DSP blockset提供的专门的显示模块来观察基于帧的信号。这些模块中最常用的是Matrix Viewer(矩阵浏览器)和Vector Scope(向量示波器)。Matrix Viewer将输入矩阵的行和列作为坐标轴,使用不同颜色表示矩阵元素的值,还可以根据需要自己建立一个颜色表。Vector Scope 显示输入的每一列(通道),按照指定帧的数目每次显示整个数据。Vector Scope 可以显示时域或频域信号。图11.5是基于帧的三个正弦信号(三个通道)分别用Matrix Viewer和 Vector Scope

6、显示的结果。此外还有内置FFT变换的Spectrum Scope用来直接显示时域信号的频谱。,图11.5 Matrix Viewer & Vector Scope,5. 使用基于帧的信号 当一个信号线表示基于帧的信号时,Simulink用双线来绘制。基于帧的信号处理可以使用Simulink中对输入的每个元素进行处理的块,但是不能使用Simulink中对向量处理的模块(例如Unit Delay和Mux)。实际上这些模块中许多模块在DSP Blockset中都有一个与之对应,专门用来做基于帧的信号处理的版本。例如,在DSP Blockset中等价于Unit Delay的模块是Integer Del

7、ay模块,与Mux等价的模块是 Matrix Concatenation模块。图11.6所示的框图是对随机信号延迟30个步长后进行卷积处理。下面给出一个具有回响功能的声学例子,读者不妨一试。,图11.6 基于帧的信号处理,【例11.1】 试建立一个圆形剧场的声学模型,假设有70%的信号被反射回来。 解:使用DSP SourcesFrom Wave File模块加载一个声音文件(*.wav),采样频率为8000 Hz。圆形剧场的回声效果导致70%的信号在2 s之后反射回来,这里用一个增益为0.7的Gain模块表示。其中使用一个Integer Delay模块产生28000的采样延迟。最后使用一个D

8、SP SinksTo Wave Device 模块听一下效果。回声系统模型如图11.7所示。注意,To Wave Device 模块只能在PC平台上使用。,图11.7 回声系统模型,11.1.2 设置Simulink进行DSP仿真 对于一般系统而言,Simulink的默认设置认为信号是连续的,而且使用连续变步长求解器对系统进行求解。如果系统中包含连续信号和离散信号,应当使用此配置。但是对于纯离散的数字信号处理系统的设计、仿真与分析而言,需要对Simulink重新配置,使其能够适用于数字信号处理。,用户可以使用M文件dspstartup来配置Simulink,使之适用于数字信号处理。设置的内容包

9、括:使用固定步长求解器、在采样之间信号没有定义(避免两个不同采样率信号之间的操作)、结束时间设为无穷大、仿真时间和数据不保存到工作区以节省内存等等。此外,用户还可以根据需要修改dspstartup.m文件以加入定制的设置。图11.8为设置好的DSP仿真参数页面。 如果经常需要进行DSP仿真,用户可以在startup.m文件中加入dspstartup命令,MATLAB在启动后自动运行startup,这样就无需每次仿真都运行dspstartup命令了。,图11.8 设置Simulink进行DSP仿真,11.2 DSP Blockset模块库介绍,DSP Blockset库提供了极为丰富的DSP模块

10、资源,它们封装了几乎所有基本的数字信号处理操作和算法,其中的许多模块在信号处理工具箱中都有对应的函数。用户可以利用这些模块方便地完成自己的数字信号处理系统仿真和分析。图11.9列出了展开后的DSP Blockset模块库。这一节将分别介绍各个子库并给出一些简单的例子。,图11.9 DSP Blockset模块库,11.2.1 信号的操作和管理 一般的信号操作如加窗和补零可以通过Signal Operations模块库完成。这个库中还包含Variable Interge Delay模块,这里延迟的大小是通过第二个输入信号指定的。表11.2列出了各个Signal Operations 库中各个模块

11、及其功能描述。,表11.2 Signal Operations 库,信号可以通过在 Signal Management 下的四个库进行一些管理操作,它包括缓冲、索引、信号属性、切换与计数四个部分,如表11.3所示。,表11.3 Signal Management库,信号的速率转换可以通过Signal Operations中的Upsample和Downsample模块来进行。Upsample通过在新的数据点上补零来实现,Downsample通过间隔去除部分采样点来降低采样速率。如图11.10所示,用一个probe模块来探测信号的采样速率,原始采样信号为 1000 Hz,经过二抽取后变为500 H

12、z,经过插值后变为2000 Hz。,图11.10 改变信号的速率,11.2.2 信号变换 使用基于帧的信号的一个好处就是能够进行各种变换处理,这意味着可以得到关于信号特性的更多信息。Simulink DSP Blockset 提供了时域至频域,频域至时域(逆变换)和时域至时域的转换模块。需要注意的是,这些变换模块只能用于基于帧的输入的场合。表11.4列出了Transform 库中的模块及其功能描述。,表11.4 Transform 库,【例11.2】 计算信号的频率响应。 解:有两种简单的方法可以用来计算信号的频率响应。一种是对输入信号做FFT变换,然后在一个Vector Scope中观察变换

13、的结果,这时Vector Scope的输入域应设置为Frequency。在Vector Scope模块前需要插入一个 Complex to Magnitude 模块,因为向量示波器期待的是一个实型输入。另外一个方法是将信号直接接到一个FFT示波器上,这个示波器先进行FFT变换和求平方,然后再显示。计算信号的频率响应的框图如图11.11所示。输入信号是两个频率分别为50 Hz和100 Hz的正弦信号:,各个模块的参数设置如下: (1) Sine wave 模块:Frequency(Hz)设置为50 100。 (2) Gain 模块:Gain设置为0.5。 (3) Complex to Magni

14、tude 模块:Output设置为Magnitude。 (4) Vector Scope:Input domain设置为Frequency。 其它使用缺省设置。,图11.11 计算信号的频率响应,11.2.3 滤波器设计与频率分析 有关滤波器设计和分析的内容非常丰富,在此仅对Simulink DSP Blocksetfiltering库中的模块进行简单的介绍,然后利用Simulink所提供的工具设计一个最简单的低通滤波器。 1. 设计一个滤波器 DSP Blockset库中有丰富的滤波器设计模块,可以设计数字FIR和IIR滤波器、模拟IIR滤波器。对于滤波器设计,应给出滤波器阶数和截止频率。实

15、际上滤波器设计模块是通过信号处理工具箱(Signal Processing Toolbox )进行滤波器设计的,然后返回一系列滤波器系数。,Simulink 4.0为用户提供了两个非常好用的模块用于模拟滤波器和数字滤波器的设计。Analog Filter Design模块用于模拟滤波器的设计,只需在模块对话框中选择要设计的滤波器类型和方法及其它阶数等信息就可以了。Digital Filter Design模块用于数字滤波器的设计,双击该模块可以看见如图11.12所示的图形化的设计界面,通过它用户可以方便地进行各种常用数字滤波器的设计和分析,设计完后可以直接作为滤波器的实现模块在仿真中使用,图1

16、1.12 滤波器设计工具:FDATool,【例11.3】 设计一个滤波器滤除正弦信号中的噪声,还原正弦信号。正弦信号为sin100t,噪声信号是均值为0、方差为1的高斯白噪声。信号采样频率为2000 Hz。 解:(1) 首先用Digital Filter Design模块设计Butterworth带通滤波器。各个选项参数的设置如图11.12所示。然后单击Design Filter按钮,完成滤波器的设计。 (2) 按照图11.13选择和连接好其余各个模块。各个模块的设置如下:,Samples per fame设置为256。 Sine Wave 模块:Frequency设置为100,Sample Time设置为1/2000,Samples per fame设置为256。 Vector Scope模块:为缺省设置。 运行仿真,产生的结果如图11.13所示。从图中可以看出,正弦信号被清楚地还原了出来。,图11.13 带通滤波器结果输出,2. 实现一个滤波器 通过一个给定的传递函数表达的滤波器,可以只采用延迟和增益模块来实现。这个实现不是唯一

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号