当前位置:文档之家› SIMULINK模块介绍

SIMULINK模块介绍

关于光盘的使用说明本光盘共包含六个子目录,其中三个是DSP_FORTRAN, DSP_C和DSP_MATLAB,另外三个是有关习题所需要的数据或文献。

DSP_FORTRAN和DSP_C各含有约40个信号处理的子程序,概括了书中所涉及到的绝大部分算法。

程序分别由FORTRAN语言和C语言编写(MA模型、ARMA模型及最小方差谱估计三个算法只给出了用C语言编写的程序, 没有给出相应的FORTRAN子程序),并在PC机上调试通过。

编译环境是FORTRAN77 V5. 10和TURBO C2. 0。

DSP_MATLAB含有近120多个用MA TLAB编写的信号处理程序,它们是本书各个章节的大部分例题,使用的是MA TLAB6.1。

FORTRAN子程序名称的长度全都是6位,扩展名为.for,C语言子程序的名称全部是7位,由相应的FORTRAN子程序在其名称前加字母m而形成,并将扩展名改为.c。

为了方便读者的使用,光盘中还给出了调用FORTRAN子程序的简单主程序。

读者只需将此主程序和主程序指定的子程序作编译、连接和运行,即可得出相应的结果。

FORTRAN主程序的名称为7位或8位,它是在原FORTRAN子程序前加字母h所构成的,扩展名仍是.for。

h后面的一个数(如果有的话)表示该程序是相应子程序的第几个主程序。

例如,子程序desiir.for是用来设计IIR滤波器的FORTRAN子程序,对应的C程序是mdesiir.c,调用desiir.for 的第一个主程序是h1desiir.for(设计低通IIR DF),依此类推。

用MATLAB编写的程序的名称由“exa”开头,接下来是所在的章、节及例题的序号,如exa010101,指的是第1章第1节(即1.1节)的第1个例题,即例1.1.1。

如果该程序是为了说明某一个m文件的应用,则在上述名称的后面跟一个下划线,再在后面加上所说明的MATLAB文件的名称,如exa011001_rand,即是例1.10.1,该例用来说明rand.m文件的应用。

应该说明的是,这些MATLAB程序不是像所附的FORTRAN和C程序那样作为一个个子程序应用,而是用来说明书上的例题及各个m文件的应用。

用FORTRAN和C语言编写的每一个子程序的功能及调用时各个参数的含义已在程序的开头作了较为详细的说明,此处不再赘述。

所附程序中,绝大多数都是作者和其研究生编写的,也有少量是参考国外已公开发表的杂志和教科书,如经典的FFT和REMEZ算法等。

下面给出的是用FORTRAN语言和C语言编写的程序的名称、功能以及有关问题的说明,程序按字母顺序排列。

1.aftodf.for,maftodf.c将模拟滤波器转变为数字滤波器。

2.ampres.for ,mampres.c由)(ωj e H 得到幅频响应)(ωj e H 。

系统函数)(z H 由下式给出:)1/()()(11110LA LA LB LB z a z a z b z b b z H ----++++++= (A.1)若0=LB ,则)(z H 为一全极点IIR 系统,若0=LA ,则)(z H 为FIR 系统。

在以下程序中,凡涉及到系统,系统函数)(z H 都按(A.1)式给出,不再一一说明。

3.arburg.for (harburg.for ),marburg.c用Burg 算法求AR 模型的参数。

4.ar1psd.for ,mar1psd.c由AR 模型参数得到功率谱。

5.aryuwa.for (haryuwa.for ),maryuwa.c用Levinson 算法求解Yule-Walker 方程以得到p 阶AR 模型的参数(1),,(1)a a p -。

6.biline.for ,mbiline.c实现双线性Z 变换。

7.butwcf.for ,mbutwcf.c设计巴特沃斯模拟低通滤波器,求出转移函数)(p G 。

8.chebsh.for ,mchebsh.c设计切比雪夫I 型模拟低通滤波器,求出转移函数)(p G 。

9.cmpdft.for (hcmpdft.for ),mcmpdft.c直接由定义求N 点复序列)(n x 的DFT )(k X 。

10.cmpfft.for (hcmpfft.for ),mcmpfft.c利用经典的Cooley-Tukey 基2算法求复序列)(n x 的DFT )(k X 。

11.convo1.for (hconvo1.for ),mconvo1.c直接按定义求序列)(),(n h n x 的线性卷积)(n y 。

12.convo2.for (hconvo2.for ),mcnvo2.c利用DFT 的卷积性质求两个复序列的线性卷积。

13.corpsd.for (hcorpsd.for ),mcorpsd.c用Blackman-Tukey 法(自相关法)对信号)(n x 作功率谱估计。

14.corre1.for (hcorre1.for ),mcorre1.c直接按定义计算(),()x n y n 的互相关函数)(m r xy ,若)()(n x n y =,则求出的是自相关,r y x ,,为复序列。

15.corre2.for (hcorre2.for ),mcorre2.c用FFT 实现相关函数快速估计。

16.cztfft.for (hcztfft.for ),mcztfft.c实现Chirp Z 变换算法。

17.decint.for (h1decint.for ,h2decint.for ,h3decint.for ),mdecint.c对给定数据)(n x 作M L /倍的抽样率转换。

18.defir1.for (h1defir1.for ,h4defir1.for ),mdefir1.c利用窗函数法设计FIR 滤波器,给出其抽样响应)(n h 。

程序中调用了子程序window 。

19.defir2.for (h1defir2.for ,h4defir2.for ),mdefir2.c用频率抽样法设计FIR 滤波器。

20.defir3.for (h1defir3.for ,h2defir3.for ,h3defir3.for ),mdefir3.c用切比雪夫最佳一致逼近法设计FIR 滤波器,调用子程序remez1。

注意:以上FIR 滤波器设计的三个程序中,滤波器的长度应取奇数。

21.desiir.for (h1desiir.for ,h2desiir.for ,h7desiir.for ,h8desiir.for ),mdesiir.c利用双线性Z 变换设计巴特沃斯和切比雪夫I 型IIR 数字滤波器,包括低通、高通、带通、带阻四种形式。

使用者只需指定通带、阻带的边缘实际频率及相应的衰减,便可输出数字滤波器)(z H 的级联形式的各子系统分子、分母的系数,并输出其幅频和相频响应。

程序中调用了子程序orderb ,butwcf ,chebsh ,aftodf ,iirres 等。

22.firres.for (hfirres.for ),mfirres.c求FIR 系统的频率响应)(ωj e H 。

23.fitout.for (hfitout.for ),mfitout.c求IIR 系统对)(n x 的输出)(n y ,若)()(n n x δ=,则)()(n h n y =。

24.iirres.for (hiirres.for ),miirres.c求IIR 系统的频率响应)(ωj e H 。

25.lattic.for (hlattic.for ),mlattic.c将全零系统、全极系统及极零系统的直接实现形式转化为Lattic 结构。

注意,当)(z H 为FIR 系统时,应把它视为全极系统。

26.marmach.c (主程序:wmarmach.c )用Cholesky 分解求ARMA 模型的参数并作谱估计。

27.mcholsk.c实现矩阵的Cholesky 分解。

28.mmayuwa.c (主程序:wmmayuwa.c )求MA 模型的参数(0),,(1)b b q -并估计功率谱。

29.mmvseps.c (主程序:wmmvseps.c )用最小方差法估计序列1,,0),(-=N n n x 的功率谱。

30.orderb.for ,morderb.c计算归一化巴特沃斯或切比雪夫I 型模拟低通滤波器所需的阶次。

31.perpsd.for (h1perpsd.for ,h3perpsd.for ),mperpsd.c用Welch 平均法对信号)(n x 作功率谱估计。

32.phares.for ,mphares.c得到)(ωj e H 的相频响应)(ωϕj e ,程序中调用了子程序unwrap 。

33.prgfft.for (hprgfft.for ),mprgfft.c实现输入、输出都为少数点时的FFT Pruning 算法。

34.psplot.for ,mpsplot.c在归一化频率轴上绘出归一化的功率谱曲线。

35.random.for (hrandom.for ),mrandom.c用来产生均匀分布或高斯分布的伪随机数)(n u (近似白噪声),它们可具有不同的均值和方差。

36.relfft.for (hrelfft.for ),mrelfft.c利用分裂基算法求实序列)(n x 的DFT ,)(n x 的虚部赋值为零。

37.remez1.for ,mremez1.c用REMEZ 算法求交错点组。

38.splfft.for (hsplfft.for ),msplfft.c利用分裂基算法求复序列)(n x 的DFT )(k X 。

39.unwrap.for ,munwrap.c将得到的)(ωϕj e 解卷绕,得到无跳变的相频特性。

40.window.for (hwindow.for ),mwindow.c计算七类窗函数并给出归一化对数幅频曲线。

注:本书按13.5节的方法产生了一个实验数据test ,该数据是128点复序列,用于功率谱估计,并分别放在三个子目录中。

在FORTRAN 和C 的子目录中,该数据文件的名字是test.dat ,在MA TLAB 的子目录中,其名字是test.mat 。

相关主题