面向信号处理的Simulink®应用信号源2课程概要 SignalProcessingBlockset6.0f库 采样f设置采样时间f奈奎斯特准则和混叠 信号支持和信号格式f基于采样的信号和基于帧的信号f信号通道和多通道信号 特殊的信号源和观测窗口 数据类型3SignalProcessingBlockset打开SignalProcessingBlockset的方法是在MATLAB的命令窗口中键入:dsplib4库SignalProcessingSinks:包含多种时域和频域的示波器(scope)和其它模块,用来记录信号或者在屏幕上显示信号。SignalProcessingSources:包含多种模块,用来生成基于采样的信号或者基于帧的信号,比如正弦波、随机信号。Estimation:包含多种模块,用来执行信号或者参数的估计。这些模块包括:线性预测、参数估计和功率谱估计。Filtering:包含多种模块,用来设计和实现数字滤波器,比如自适应滤波器、多速率滤波器、时变滤波器和频域滤波器。MathFunctions:包含多种模块,用来执行预定义的专用数学操作,比如dB转换、矩阵和线性代数操作、多项式函数。5库(续)PlatformSpecificI/O:包含多种模块,用于执行32-bitWindows操作平台支持的若干操作,比如:与音频设备进行读写音频数据的操作。Quantizers:包含多种模块,用于执行数据的预处理和后置处理,比如:量化器、均匀编解码器。SignalManagement:包含多种对信号进行操作的模块,比如:缓冲器(buffer),选择器(selector),开关(switch),计数器(counter)。SignalOperations:包含多种对信号进行基本操作的模块,比如:卷积、重采样、延迟、解卷绕(unwrapping)、零极点、加窗。Statistics:包含多种进行统计信号处理的模块,比如:相关、最大值、均值、标准方差和方差。Transforms:包含多种模块,用于把信号转换到其它域中进行分析,比如:FFT、离散余弦变换、小波变换。6采样)()(sanTxnx=离散信号模拟信号采样时间模拟信号源:电磁、音频、声纳和生物医学采样sampling7混叠Msff2香农采样定理:Msff2Msff2≤原始信号和采样信号有相同的频率采样信号混叠入(1/2×原始频率)sampling_15hzsampling_slow8信号格式 离散时间信号可以被处理为:f基于采样的信号(Sample-based)f基于帧的信号(Frame-based) 根据信号源的个数,可以分为:f单通道信号(Single-channel)f多通道信号(Multi-channel)9基于采样的处理和基于帧的处理 基于采样的处理 基于帧的处理处理开销获取采样数据time获取16个采样数据处理开销time等待延迟10为什么要进行基于帧的处理? 快速的仿真f较低的数据通信开销f在采样数据之间分配固定的处理开销 实时系统和数据采集硬件中,数据的真实表示形式 频率分析和信号处理算法的需求11信号的表示基于帧多通道单通道基于采样374382078011146268Ch1Ch2Ch31stSample2ndSample3rdSample4thSample5thSample6thSample帧矩阵826011stSample2ndSample3rdSample4thSample5thSampleCh1帧矩阵t=1t=4t=3t=2t=520168Ch1Ch2Ch3t=1t=2t=3t=4t=5t=630178621834640178212使用信号源来创建一个基于帧的信号列向量:100×1frame_source13使用缓存操作和非缓存操作来生成一个基于帧的信号 把基于采样的信号转换成为基于帧的信号 把基于帧的信号转换成为基于采样的信号注意:还可以使用Buffer模块来改变一个基于帧的信号的帧长度。frame_buffer14创建一个简单模型使用以下模块创建一个基于采样的模型:fDSPsinewavefGainfVectorScope把模型转换成基于帧的形式,比较两个模型的仿真速度。simple_samplesimple_frame15创建一个模型:使用VectorScope模块使用VectorScope来观察基于帧的信号双击VectorScope模块,改变相关参数。右击轴,改变轴和线的属性。open(‘frame_vs_sample.m’)16使用SignalSource模块来创建一个多通道、基于帧的信号10×3矩阵3个通道每一帧里有10个采样数据17使用HorizontalConcatenation模块来创建一个多通道、基于帧的信号4个基于帧的信号每一帧中有6个采样数据4个通道每一帧中有6个采样数据frame_multich_cat18使用SpectrumScope模块对信号进行可视化分析 在模型中增加一个spectrumscope模块 使用一个buffer模块把正弦波的帧长度改为64 把仿真的stoptime改为infmultich_spectrum19使用SpectrumScope模块对信号进行可视化分析(续) 双击SpectrumScope,编辑scope的参数; 改变各种参数,观察效果;ScopeProperties:设置输入buffersize、overlap和FFTlength;DisplayProperties:改变显示选项,比如grid、legend和persistence;AxisProperties:设置频率、幅度范围和幅度比例;LineProperties:改变线的显示方式,比如标志、风格和颜色;产生信号20PlatformSpecificI/O和标准的Windows支持的硬件设备进行音频数据的交互,如声卡从多媒体文件中读取音视频数据,支持所有的Windows多媒体格式:AVI,WMV,MPEG,JPEG,ASF,MP3,etc,数据流可以是音频,视频或音视频组合模式21SpecificSignalSinks MatrixViewer利用矩阵元素作为索引,使用调色板中的颜色来显示数值的大小dspstfft Waterfall一次显示多个矢量数据,每个矢量代表输入数据在连续采样时间上的取值dspanc22使用定点数据类型 如果安装SimulinkFixedPoint,很多信号处理模块和Simulink模块都支持定点数据。 在安装了这种license的情况下,可以生成使用定点算数结构的离散时间动态系统。f比如:Sources,Gain,Sum,Product,等等。23小结 SignalProcessingBlockset6.0f库 采样f设置采样时间f奈奎斯特准则和混叠 信号支持和信号格式f基于采样的信号和基于帧的信号f信号通道和多通道信号 特殊的信号源和观测窗口 数据类型