数字信号处理指导书
数字信号处理实验指导手册【模板】
数字信号处理实验指导手册西安文理学院机械电子工程系目录实验一离散时间信号 (2)实验二时域采样定理 (7)实验三离散时间系统 (10)实验四线性卷积与圆周卷积 (13)实验五用FFT作谱分析 (16)实验六用双线性变换法设计IIR数字滤波器 (18)实验七 FIR滤波器设计 (20)实验一离散时间信号【实验目的】用MATLAB实现离散时间信号的表示和运算,掌握MATLAB的基本命令和编程方法,为后续实验打基础。
【实验原理】在数字信号处理中,所有的信号都是离散时间信号,因此应首先解决在MATLAB中如何表示离散信号。
设一模拟信号经A/D变换后,得到序列信号由于MATLAB对下标的约定为从1开始递增,因此要表示,一般应采用两个矢量,如:这表示了一个含9个采样点的矢量:【实验内容】熟悉下面序列(信号)的产生方法及相关运算1、单位采样序列2、单位阶跃序列3、信号翻转4、信号相加5、信号折叠6、信号移位【参考程序】单位采样序列1、impluse1.m (图1-1)n=10;x=zeros(1,n);x(1)=1;plot(x,'*');2、impluse2.m(图1-2)n=-5:5;x=[n==0];stem(x,'*');3、impluse3.m(图1-3)n=1:10;n0=3;x=[(n-n0)==1];plot(x,'*');单位阶跃序列1、steps1.m(图1-4)n=10;x=ones(1,n);plot(x,'*');2、steps2.m(图1-5)n=10;x=ones(1,n);x(1)=0;x(2)=0;plot(x,'*');3、steps3.m(图1-6)n=0:10;n0=4;x=[(n-n0)>=0];plot(x,'*');信号翻转(中心对称)flip.m(图1-7)x=0:6;figure(1);subplot(211);plot(x,'*');y=fliplr(x);subplot(212);plot(y,'*');信号相加Showsigadd.m(图1-8)clear allfigure(1);[x1 n1]=impseq(-4,-5,5); subplot(3,1,1);stem(n1,x1,'*');title('信号相加演示');ylabel('x1');[x2 n2]=stepseq(0,-3,7); subplot(3,1,2);stem(n2,x2,'*');ylabel('x2');[y n]=sigadd(x1,n1,x2,n2); subplot(3,1,3);stem(n,y,'*');ylabel('y=x1+x2)')信号折叠%showfold.m(图1-9)clear all[x n]=impseq(2,-5,3); subplot(2,1,1);stem(n,x);title('信号折叠演示'); [y,n]=sigfold(x,n); subplot(2,1,2);stem(n,y);信号移位%showsigshift.m(图1-10)figure(1)clear all[x,n]=stepseq(0,-5,5);subplot(211);stem(n,x,'*');title('信号移位演示’);[y,n]=sigshift(x,n,3);subplot(212)stem(n,y);【思考题】1、用MATLAB实现信号的相加、移位、反转运算。
《数字信号处理》上机实验指导书
《数字信号处理》上机实验指导书实验1 离散时间信号的产生1.实验目的数字信号处理系统中的信号都是以离散时间形态存在,所以对离散时间信号的研究是数字信号处理的基本所在。
而要研究离散时间信号,首先需要产生出各种离散时间信号。
MATLAB 是一套功能强大的工程计算及数据处理软件,广泛应用于工业,电子,医疗和建筑等众多领域。
使用MATLAB软件可以很方便地产生各种常见的离散时间信号,而且它还具有强大的绘图功能,便于用户直观地输出处理结果。
通过本实验,学生将学习如何用MATLAB产生一些常见的离散时间信号,并通过MATLAB中的绘图工具对产生的信号进行观察,加深对常用离散信号的理解。
2.实验要求本实验要求学生运用MATLAB编程产生一些基本的离散时间信号,并通过MATLAB的几种绘图指令画出这些图形,以加深对相关教学内容的理解,同时也通过这些简单的函数练习了MATLAB的使用。
3.实验原理(1)常见的离散时间信号1)单位抽样序列,或称为离散时间冲激,单位冲激:?(n)???1?0n?0 n?0如果?(n)在时间轴上延迟了k个单位,得到?(n?k)即:?1n?k ?(n?k)??0n?0?2)单位阶跃序列n?0?1 u(n)?n?0?0在MATLAB中可以利用ones( )函数实现。
x?ones(1,N);3)正弦序列x(n)?Acos(?0n??)这里,A,?0,和?都是实数,它们分别称为本正弦信号x(n)的振幅,角频率和初始相位。
f0??02?为频率。
x(n)?ej?n4)复正弦序列5)实指数序列x(n)?A?n(2)MATLAB编程介绍MATLAB是一套功能强大,但使用方便的工程计算及数据处理软件。
其编程风格很简洁,没有太多的语法限制,所以使用起来非常方便,尤其对初学者来说,可以避免去阅读大量的指令系统,以便很快上手编程。
值得注意得就是,MATLAB中把所有参与处理的数据都视为矩阵,并且其函数众多,希望同学注意查看帮助,经过一段时间的训练就会慢慢熟练使用本软件了。
数字信号处理实验指导书(需印刷)
实验一 常见离散信号的MATLAB 产生和图形显示1、实验目的:(1)熟悉MATLAB 应用环境,常用窗口的功能和使用方法。
(2)加深对常用离散时间信号的理解。
(3)掌握简单的绘图命令。
(4)掌握线性卷积的计算机编程方法。
2、实验原理:(1)单位抽样序列⎩⎨⎧=01)(n δ0≠=n n如果)(n δ在时间轴上延迟了k 个单位,得到)(k n -δ即:⎩⎨⎧=-01)(k n δ≠=n k n(2)单位阶跃序列⎩⎨⎧=01)(n u 00<≥n n(3)矩形序列 ⎩⎨⎧=01)(n R N 其他10-≤≤N n(4)正弦序列)sin()(ϕ+=wn A n x(5)复正弦序列jwnen x =)((6)指数序列na n x =)((7)线性时不变系统的响应为如下的卷积计算式:∑∞-∞=-=*=m m n h m x n h n x n y )()()()()(3、实验内容及步骤:(1)复习常用离散时间信号的有关内容。
(2)编制程序产生上述6种序列(长度可输入确定,对(4) (5) (6)中的参数可自行选择),并绘出其图形。
(3)已知系统的单位脉冲响应),(9.0)(n u n h n=输入信号)()(10n R n x =,试用卷积法求解系统的输出)(n y ,并绘出n n x ~)(、n n h ~)(及n n y ~)(图形。
4、实验用MATLAB 函数介绍(1)数字信号处理中常用到的绘图指令(只给出函数名,具体调用格式参看help)figure(); plot(); stem(); axis(); grid on; title(); xlabel(); ylabel(); text(); hold on; subplot()(2)离散时间信号产生可能涉及的函数zeros(); ones(); exp(); sin(); cos(); abs(); angle(); real(); imag(); (3)卷积计算可能涉及的函数conv(); length()注:实验过程中也可以使用自己编制的自定义函数,如impseq()、stepseq()等。
数字信号处理实验指导书
《数字信号处理》实验指导书信息与机电工程学院实验中心2017-11-20实验一 常见离散信号的MATLAB 产生和图形显示一、实验目的:加深对常用离散信号的理解; 二、实验原理:1、基础知识:R1.1 单位样本序列10[]0n n n δ=⎧=⎨≠⎩如果()n δ在时间轴上延迟了k 个单位,得到()n k δ-,即:1[]0n k n k n kδ=⎧-=⎨≠⎩R1.2 单位阶跃序列10[]0n u n n ≥⎧=⎨<⎩ R1.3 指数序列[]n x n A α=,其中()00j e σωα+=,j A A e φ=,则前式化为()000000[]cos()sin()n j n n n x n A eA e n j A e n σωφσσωφωφ++==+++R1.4 正弦序列0[]cos()x n A n ωφ=+,其中A ,0ω,φ是实数,分别称为正弦序列的振幅、角频率和初始相位。
00/2f ωπ=称为频率。
2、用到的MATLAB 命令 运算符和特殊符号 : . + -* / .^ ; %基本矩阵和矩阵控制 i ones pirand randnzeros基本函数 cos sin exp imag real二维图形 axis gird legendplotstem title xlabel ylabelstairs 通用图形函数 clf subplot三、实验内容及要求:编制程序产生信号,并绘出其图形。
例1.1单位样本和单位阶跃序列% 程序 P1.1% 一个单位样本序列的产生clf;% 产生一个从-10到20的向量n = -10:20;% 产生单位样本序列u = [zeros(1,10) 1 zeros(1,20)];% 绘制单位样本序列stem(n,u);xlabel('时间序号 n');ylabel('振幅');title('单位样本序列');axis([-10 20 0 1.2]);习题:Q1.1 运行程序P1.1,以产生单位样本序列u[n]并记录它。
《数字信号处理》实验指导书(完整)
《数字信号处理》实验指导书通信教研室安阳工学院二零零九年三月第1章 系统响应及系统稳定性1.1 实验目的● 学会运用MATLAB 求解离散时间系统的零状态响应;● 学会运用MATLAB 求解离散时间系统的单位取样响应;● 学会运用MATLAB 求解离散时间系统的卷积和。
1.2 实验原理及实例分析1.2.1 离散时间系统的响应离散时间LTI 系统可用线性常系数差分方程来描述,即∑∑==-=-Mj jN i i j n x b i n y a 00)()( (1-1) 其中,i a (0=i ,1,…,N )和j b (0=j ,1,…,M )为实常数。
MATLAB 中函数filter 可对式(13-1)的差分方程在指定时间范围内的输入序列所产生的响应进行求解。
函数filter 的语句格式为y=filter(b,a,x)其中,x 为输入的离散序列;y 为输出的离散序列;y 的长度与x 的长度一样;b 与a 分别为差分方程右端与左端的系数向量。
【实例1-1】 已知某LTI 系统的差分方程为)1(2)()2(2)1(4)(3-+=-+--n x n x n y n y n y试用MATLAB 命令绘出当激励信号为)()2/1()(n u n x n=时,该系统的零状态响应。
解:MATLAB 源程序为>>a=[3 -4 2];>>b=[1 2];>>n=0:30;>>x=(1/2).^n;>>y=filter(b,a,x);>>stem(n,y,'fill'),grid on>>xlabel('n'),title('系统响应y(n)')程序运行结果如图1-1所示。
1.2.2 离散时间系统的单位取样响应系统的单位取样响应定义为系统在)(n 激励下系统的零状态响应,用)(n h 表示。
数字信号处理实验指导书(学生版)
“数字信号处理”实验指导书(一)一、实验课程编码:105003 二、实验课程名称:数字信号处理三、实验项目名称: 应用MATLAB 分析离散信号频谱 四、实验目的掌握应用MATLAB 分析离散信号频谱的方法,即熟悉应用MATLAB 分析离散信号的函数。
五、主要设备安装有MATLAB 软件的电脑 六、实验内容编写MATLAB 程序,实现下面题目:1. 用快速卷积法计算下面两个序列的线性卷积。
)()4.0(s )(15n R n in n x =,)(9.0)(20n R n h n =2.已知序列[]()cos 0120n n N Nx n π⎧≤≤-⎪=⎨⎪⎩其它(1)计算该序列DTFT 的表达式()j X e ω,并画出N=10时的()j X e ω曲线; (2)编写MATLAB 程序,利用FFT 函数,计算N =10时,序列x [k ]的DTFT 在2m mNπω=的抽样值。
利用hold 函数,将抽样点画在()j X e ω的曲线上。
3.理解高密度频谱和高分辨率频谱的概念。
设)52.0cos()48.0(co )(n n s n x ππ+=(1) 取0≤n ≤9,求)(1k X(2) 将(1)中的)(x n 补零加长到0≤n ≤99,求)(2k X (3) 增加取样值的个数,取0≤n ≤99,求)(3k X4. 用DFT 对连续信号做谱分析。
设)50cos()100sin()200cos()(t t t t x a πππ++=,用DFT 分析)(t x a 的频谱结构,选择不同的截取长度Tp ,观察截断效应,试用加窗的方法减少谱间干扰。
选取的参数:(1) 频率s s f T Hz f /1 ,400==(2) 采样信号序列)()()(n w nT x n x a =,)(n w 是窗函数。
选取两种窗函数:矩形窗函数)()(n R n w N =和Hamming 窗,后者在程序中调用函数Hamming 产生宽度为N 的Hamming 窗函数向量。
数字信号处理指导书
实验一卷积运算1. 实验目的(1) MATLAB中序列的表示;(2) 序列的图形显示;(3) 序列的卷积计算。
2. 实验原理与方法(1) 信号在MATLAB中的表示方法MATLAB中用两个参数向量来表示有限长序列x(n),一个是x(n)中各点的样值向量,一个是各点的位置向量。
两个向量长度相等,假设位置向量的第m 个元素的值为k,则样值向量的第m个元素的值即为x(k)。
(2) 序列的图形显示MATLAB中可调用stem函数来显示序列,其具体形式为:stem(X,Y)stem(...,'fill')stem(...,LineSpec)(3) 序列的卷积运算卷积和是离散信号与系统分析的有效方法和工具,两个序列x(n)和h(n)的卷积和定义为:∑∞-∞=-= =mmnhmxnhnxny)()()(*)()(利用MATLAB求离散序列卷积和的专用函数conv可以实现离散信号卷积和的计算。
其具体形式为:w = conv(u,v)3. 实验内容及步骤(1) 熟悉MATLAB造作环境,复习时域离散信号和系统的相关知识。
(2) 编写实验程序,产生以下序列并显示其图形:14234()()403()3470()c o s 01543()s in774x n R n n n x n n n x n n n x n nn ππ=-≤≤⎧⎪=-≤≤⎨⎪⎩=≤≤=-≤≤其它(3) 编制程序,计算x 2(n)*x 1(n)、x 3(n)*x 1(n)、x 4(n)*x 1(n),并显示其计算结果。
(4) 手动计算上述卷积和,并与程序运行结果进行比较。
4.实验方式及要求每人一台安装有Matlab7.0的计算机,在计算机上编程仿真。
一人一组,独立完成。
5. 思考题脚本文件与函数文件编写上有什么区别?如何利用函数文件完成任意两序列的卷积运算?6. 实验报告要求(1) 简述实验目的及实验原理。
(2) 按实验步骤附上实验过程中离散序列的时域波形,并对所得结果进行分析和解释。
数字信号处理实验指导书--Matlab版
下:
由于 e jω 是频率的周期函数,所以系统的频率特性也是频率的周期函数,且周期为 2π ,因 此研究系统频率特性只要在[ −π ,π ]范围内就可以了。
三、实验内容及步骤
1、在实验上机前,认真复习离散卷积和差分方程的有关内容,仔细阅读本实验原理和 步骤。准备实验所需数据。
2、离散卷积计算。 1)在主界面下进入“实验五” 的“离散卷积”子系统,选定几组不同的 x(n)、h(n) 代入离散卷积程序计算 y(n),记录实验结果。 3、差分方程迭代解法 1)¨在主界面下进入“实验五” 的“差分方程”子系统,本实验要求首先确定系统方 程系数个数和需要输出 y(n)的样点个数,然后依次输入 a[0]~a[N]、b[0]~b[N]这些系数的 数值和 y(n)的初始值 y(0)~y(N-1),h(n)的初始值 h(0)~h(N-1),运行后即得冲激响应 h(n) 和阶跃信号激励下的响应 y(n)的结果和图形显示。 2)自己选择一个离散时间系统,写出其差分方程,设好初始条件进行实验并记录实验 结果。 4、在主界面下进入“实验六”即“离散系统 Z 域分析”,本实验中给出了计算系统
明了系统结构、参数、特性三者之间的关系,即同一结构,参数不同其特性也不同。 例如,下图所示离散系统:
数学模型由下列差分方程描述: y(n)=ay(n-1)+x(n)
系统函数 系统频率特性
H (z) = z , | z |> a z−a
幅度特性为
H (e jω )
=
e jω e jω − a
《数字信号处理》实验指导书
R6(n)
0.5
0 0.2
0
5
10
15
20
25 n
30
35
40
45
ቤተ መጻሕፍቲ ባይዱ
50
Magnitude
0.1
0 4
-3
-2
-1
0 Frequency(rad)
1
2
3
Phase
2 0 -2 -4 -3 -2 -1 0 Frequency(rad) 1 2 3
k=0 时的直流分量及其合成的波形:
0.5
the Kth harmonic
the Kth harmonic
0
the Kth harmonic
0 5 10 15 20 25 n 30 35 40 45 50
0
-0.5
-0.5
0
5
10
15
20
sum of the first K+1 harmonics
1
sum of the first K+1 harmonics
25 n
30
35
0
-0.5
-0.5
0
5
10
15
20
sum of the first K+1 harmonics
1
sum of the first K+1 harmonics
25 n
30
35
40
45
50
1
0.5
0.5
0 0 5 10 15 20 25 n 30 35 40 45 50
0 0 5 10 15 20 25 n 30 35 40 45 50
数字信号处理实验指导书
j j
括幅频特性和相频特性)曲线。并将其和第 4 步中得到的结果进行比较。
七. 实验报告内容与要求
1. 简述实验目的、实验原理及实验方法和步骤。 2. 对各实验所得结果进行分析和解释。 3. 打印程序清单和要求的各信号波形。 4. 总结实验中的主要结论。 5. 简要回答思考题。
八. 思考
1. 信号的频域特性即信号的傅立叶变换利用 MATLAB 程序如何实现? 2. 信号的频域特性即频率响应函数 H (e ) 利用 MATLAB 程序如何求取?
4
X (e j ) FT [ x(n)]
n
x ( n) e
j n
(2.1)
序列和信号的傅立叶变换是ω的连续函数, 而计算机只能计算出有限个离散频率点的 函数值。因此在取得频谱函数后,应该在 0~2π之间取许多点,计算这些点的频谱函数 的值,并取它们的包络,该包络才是需要的频率特性。当然,点数取得多一些,该包络才
y(n) 0.05 x(n) 0.05 x(n 1) 0.9 y(n 1) 的响应 y2 (n) ,并绘出 y2 (n) 的时域特性曲
线。
( n) ,并绘出 y1 ( n) 的 5. 利用卷积函数 conv () 求信号 x1 ( n) 通过系统 h1 (n) 的响应 y1
j 能接近真正得频率特性。通常对 X (e ) 在[0,2π]上取模 X (e ) ,绘出幅频特性曲
j
线进行观察分析。系统的频域特性,通常是指求系统频率响应函数 H (e ) ,即系统单位 脉冲响应 h(n)的傅里叶变换。 对于线性时不变时域离散系统,当系统的输入序列为 x(n) ,系统的单位脉冲响应为 为 h(n) ,则线性时不变系统的输出序列为
《数 字 信 号 处 理》 实 验 指 导 书PPT文档共55页
3、法律是最保险的头盔。——爱·科 克 4、一个国家如果纲纪不正,其国风一 定颓败 。—— 塞内加 5、法律不能使人人平等,但是在法律 面前人 人是平 等的。 ——波 洛克
谢谢你的阅读
❖ 知识就是财富 ❖ 丰富你的人生
71、既然我已经踏上这条道路,那么,任何东西都不应妨碍我沿着这条路走下去。——康德 72、家庭成为快乐的种子在外也不致成为障碍物但在旅行之际却是夜间的伴侣。——西塞罗 73、坚持意志伟大的事业需要始终不渝的精神。——伏尔泰 74、路漫漫其修道远,吾将上下而求索。——屈原 75、内外相应,言行相称。——韩非
《数字信号处理》实验指导书(全)
数字信号处理实验指导书电子信息工程学院2012年6月目录实验一离散信号产生和基本运算 (3)实验二基于MATLAB的离散系统时域分析 (7)实验三基于ICETEK-F2812-A 教学系统软件的离散系统时域分析 (9)实验四基于MATLAB 的FFT 算法的应用 (16)实验五基于ICETEK-F2812-A 的FFT 算法分析 (18)实验六基于ICETEK-F2812-A 的数字滤波器设计 (20)实验七基于ICETEK-F2812-A的交通灯综合控制 (24)实验八基于BWDSP100的步进电机控制 (26)实验一离散信号产生和基本运算一、实验目的(1)掌握MATLAB最基本的矩阵运算语句。
(2)掌握对常用离散信号的理解与运算实现。
二、实验原理1.向量的生成a.利用冒号“:”运算生成向量,其语句格式有两种:A=m:nB=m:p:n第一种格式用于生成不长为1的均匀等分向量,m和n分别代表向量的起始值和终止值,n>m 。
第二种格式用于生成步长为p的均匀等分的向量。
b.利用函数linspace()生成向量,linspace()的调用格式为:A=linspace(m,n)B=linspace(m,n,s)第一种格式生成从起始值m开始到终止值n之间的线性等分的100元素的行向量。
第二种格式生成从起始值m开始到终止值n之间的s个线性等分点的行向量。
2.矩阵的算术运算a.加法和减法对于同维矩阵指令的A+BA-B对于矩阵和标量(一个数)的加减运算,指令为:A+3A-9b.乘法和除法运算A*B 是数学中的矩阵乘法,遵循矩阵乘法规则A.*B 是同维矩阵对应位置元素做乘法B=inv(A)是求矩阵的逆A/B 是数学中的矩阵除法,遵循矩阵除法规则A./B 是同维矩阵对应位置元素相除另'A表示矩阵的转置运算3.数组函数下面列举一些基本函数,他们的用法和格式都相同。
sin(A),cos(A),exp(A),log(A)(相当于ln)sqrt(A)开平方 abs(A)求模 real(A)求实部 imag(A)求虚部 式中A 可以是标量也可以是矩阵 例: 利用等差向量产生一个正弦值向量 t=0:0.1:10 A=sin(t) plot(A)这时候即可看到一个绘有正弦曲线的窗口弹出 另:每条语句后面加“;”表示不要显示当前语句的执行结果 不加“;”表示要显示当前语句的执行结果。
数字信号处理实验指导书(带源程序)
实验一离散时间系统与MA TLAB一. 实验目的1. 进一步加深对离散时间系统的理解。
2. 学习在MATLAB中怎样表示离散时间信号。
3. 熟悉离散时间信号的作图。
二. 实验步骤1. 复习离散时间系统的有关容。
2. 复习MA TLAB的基本语法。
3. 按实验容熟悉stem。
4. 编写程序。
5. 输出结果,总结结论,按要求写出实验报告。
三. 实验容1.掌握stem函数STEM(Y) plots the data sequence Y as stems from the x axis terminated with circles for the data value.STEM(X,Y) plots the data sequence Y at the values specified in X.例:t=[0:0.1:2]; x=cos(pi*t+0.6); stem(t,x);xn=[4,2,2,3,6,7]; stem(xn);思考:STEM(Y)与STEM(X,Y)有什么不同?STEM与PLOT函数有什么不同?2.掌握subplot函数H = SUBPLOT(m,n,p), or SUBPLOT(mnp), breaks the Figure window into an m-by-n matrix of small axes, selects the p-th axes for the current plot, and returns the axis handle. The axes are counted along the top row of the Figure window, then the second row, etc.例:n1=0:3;x1=[1,1,1,1];subplot(221);stem(n1,x1);title('x1序列');n2=0:7;x2=[1,2,3,4,4,3,2,1];subplot(222);stem(n2,x2);title('x2序列');n3=0:7;x3=[4,3,2,1,1,2,3,4];subplot(223);stem(n3,x3);title('x3序列');n4=0:7;x41=cos((pi/4)*n4);subplot(224);stem(n4,x41);title('x4序列');思考:subplot是怎样分配各个作图分区的顺序号的?3.信号的运算]0,1.0,4.0,7.0,1[)(1=n x ,]9.0,7.0,5.0,3.0,1.0[)(2=n x ,请作出)()(21n x n x +,)()(21n x n x 的图形。
《数字信号处理》实验指导书(正文)
实验一 离散时间信号分析一、实验目的1.掌握各种常用的序列,理解其数学表达式和波形表示。
2.掌握在计算机中生成及绘制数字信号波形的方法。
3.掌握序列的相加、相乘、移位、反褶等基本运算及计算机实现与作用。
4.掌握线性卷积软件实现的方法。
5.掌握计算机的使用方法和常用系统软件及应用软件的使用。
6.通过编程,上机调试程序,进一步增强使用计算机解决问题的能力。
二、实验原理1.序列的基本概念离散时间信号在数学上可用时间序列来表示,其中代表序列的第n 个数字,n 代表时间的序列,n 的取值范围为∞<<∞-n 的整数,n 取其它值)(n x 没有意义。
离散时间信号可以是由模拟信号通过采样得到,例如对)(t x a 模拟信号进行等间隔采样,采样间隔为T ,得到一个{})(nT x a 有序的数字序列就是离散时间信号,简称序列。
2.常用序列常用序列有:单位脉冲序列(单位采样))(n δ、单位阶跃序列)(n u 、矩形序列)(n R N 、实指数序列、复指数序列、正弦型序列等。
3.序列的基本运算序列的运算包括移位、反褶、和、积、标乘、累加、差分运算等。
4.序列的卷积运算∑∞∞-*=-=)()()()()(n h n x m n h m x n y上式的运算关系称为卷积运算,式中代表两个序列卷积运算。
两个序列的卷积是一个序列与另一个序列反褶后逐次移位乘积之和,故称为离散卷积,也称两序列的线性卷积。
其计算的过程包括以下4个步骤。
(1)反褶:先将)(n x 和)(n h 的变量n 换成m ,变成)(m x 和)(m h ,再将)(m h 以纵轴为对称轴反褶成)(m h -。
(2)移位:将)(m h -移位n ,得)(m n h -。
当n 为正数时,右移n 位;当n 为负数时,左移n 位。
(3)相乘:将)(m n h -和)(m x 的对应点值相乘。
(4)求和:将以上所有对应点的乘积累加起来,即得)(n y 。
《数字信号处理》实验指导书
的相角, Ai 就是极点 pi 到单位圆上的点 e jω 的矢量长度(距离),而θ i 就是该矢量 的相角,因此有:
M
∏ B e j(ψ1 +ψ 2 +⋅⋅⋅⋅+ψ M ) j
H (e jω ) =
j =1 N
= H (e jω ) e jϕ (ω )
∏ A e j(θ1+θ2 +⋅⋅⋅⋅+θ N ) i
(1) 设有直流信号 g(t)=1,现对它进行均匀取样,形成序列 g(n)=1。试讨 论若对该序列分别作加窗、补零,信号频谱结构有何变化。 四、实验过程及结果(含程序)
12
13
14
15
16
实验三 IIR 数字滤波器的设计
一、实验目的 (1)掌握双线性变换法及脉冲相应不变法设计 IIR 数字滤波器的具体设计 方法及其原理,熟悉用双线性变换法及脉冲响应不变法设计低通、高通和 带通 IIR 数字滤波器的计算机编程。 (2)观察双线性变换及脉冲响应不变法设计的滤波器的频域特性,了解双 线性变换法及脉冲响应不变法的特点。 (3)熟悉 Butterworth 滤波器、Chebyshev 滤波器和椭圆滤波器的频率特 性
《数字信号处理》
实验指导书
班级: 学号: 姓名: 苏州科技学院 电子教研室
实验一 信号、系统及系统响应
一、实验目的
(1) 熟悉 MATLAB 平台的使用,掌握离散信号、离散系统的 MATLAB 实现。 (2)掌握根据系统函数绘制系统零极点分布图的基本原理和方法。 (3)理解离散系统频率特性分析的基本原理,掌握根据系统函数零极点分布来分 析离散系统频率响应的几何矢量法。
17
变换类型 低通
Байду номын сангаас
数字信号处理指导书
实验一 信号、系统及系统响应一、 实验目的:1、 熟悉连续信号经理想采样前后的频谱变化关系,加深对时域采样定的理解。
2、 熟悉时域离散系统的时域特性。
3、 利用卷积方法观察分析系统的时域特性。
4、 掌握序列傅里叶变换的计算机实现方法,利用序列的傅里叶变换对连续信号、离散信号及系统响应进行频域分析。
二、实验内容及步骤:1、 认真复习采样理论、离散信号与系统、线性卷积、序列的傅里叶变换及性质等有内容,阅读本实验原理与方法。
2、 了解要使用到的MA TLAB 命令:1)基于DTFT 离散时间信号分析函数:freqz ,real ,imag ,abs ,angle ,unwrap 。
函数freqz 可以用来计算一个以ωj e的有理分式形式给出的序列的DTFT 值。
freqz 的形式多样,常见的有H=freqz(num,den,w),其中num 表示序列有理分式DTFT 的分子多项式系数,den 表示分母多项式系数(均按z 的降幂排列),矢量w 表示在0~π2中给定的一系列频率点集合。
freqz 函数的其他形式参见帮助。
在求出DTFT 值后,可以使用函数real, imag, abs 和angle 分别求出并绘出其实部,虚部,幅度和相位谱。
如果需要,还可以用unwrap 函数消除相位中的跳变。
2)函数fft(x)可以计算R 点序列的R 点DFT 值;而fft(x,N)则计算R 点序列的N 点DFT ,若R>N ,则直接截取R 点DFT 的前N 点,若R<N ,则x 先进行补零扩展为N 点序列再求N 点DFT 。
函数ifft(X)可以计算R 点的谱序列的R 点IDFT 值;而ifft(X,N)同fft(x,N)的情况。
卷积函数2)conv 用求于两个有限长度序列的卷积。
3、 实验准备工作:1)产生实验中要用到的下列信号序列: a .采样信号序列:对下面连续信号:)()s i n ()(0t u t Aet x ata Ω=- 进行采样,可得到采样序列)()sin()()(0n u nT AenT x n x anta a Ω==-,500<≤n其中A 为幅度因子,a 为衰减因子,0Ω是模拟角频幸,T 为采样间隔。
数字信号处理实验指导书 正文
目录实验一熟悉MATLAB环境(2学时) (2)实验二求线性时不变系统的输出(2学时) (3)实验三时域及频域采样定理(2学时) (8)实验四零极点分布对系统频率响应的影响(2学时) ..... 错误!未定义书签。
实验五用DFT(FFT)对信号进行频谱分析(2学时) .. (13)实验六IIR滤波器的设计(2学时) (14)实验七FIR滤波器的设计(2学时) ................... 错误!未定义书签。
实验八数字音频信号的分析与处理(4学时) (22)附录: MATLAB基本操作及常用命令 (30)实验一 熟悉MATLAB 环境(2学时)一、 实验目的1.熟悉MATLAB 的主要操作命令。
2.学会用MATLAB 创建时域离散信号。
3.学会创建MATLAB 函数。
二、 实验原理参阅附录MATLAB 基本操作及常用命令。
三、 实验内容完成以下操作。
1.数组的加、减、乘、除运算。
输入A=[1 2 3 4];B=[3 4 5 6];计算:C=A+B ;D=A-B ;E=A.*B ;F=A./B ;G=A.^B ;并用stem 语句画出A 、B 、C 、D 、E 、F 、G 。
2.用MATLAB 实现以下序列(1)单位抽样序列(2)单位阶跃序列⎩⎨⎧<≥=000,0,1)n -(n n n n n u(3)矩形序列⎩⎨⎧≥<-≤≤=),0(,0)10(,1)(N n n N n n R N(4)正弦序列x (n )=5sin(0.5πn + π/4) (5)指数序列x (n )=exp(-0.5n )⎩⎨⎧≠==00,0,1)n -(n n n n n δ3.用MA TLAB 生成以下两个序列:)4(5)3(4)2(3)1(2)()(-+-+-+-+=n n n n n n x δδδδδ )3(2)2()1(2)()(-+-+-+=n n n n n h δδδδ并作以下运算,并绘制运算后序列的波形。
数字信号处理实验指导书(修订版)
目录实验一卷积实验 (1)实验二DFT和FFT实验 (5)实验三用双线性变换法设计IIR数字滤波器 (11)实验四用窗函数法设计FIR数字滤波器 (16)实验一卷积实验一.实验目的1.熟悉离散信号和系统的MATLAB 表示和产生方法;2.熟悉线性卷积的MATLAB编程方法;3利用卷积方法观察分析系统的时域特性。
二实验原理(一) 离散时间信号的MATLAB表示序列x(n)={2,6,1,2,0,3,4,5,6},用MATLAB语句表示为:n=[-4 -3 -2 -1 0 1 2 3 4];x=[ 2 6 1 2 0 3 4 5 6];其中:n表示取样时间点,x表示对应时间点的值。
如果不需要采样位置信息或这个信息是多余的时候(例如序列从n=0开始),用户可以只使用x向量来表示序列。
1.单位样值序列产生函数IMPSEQ.Mfunction[x,n]=impseq(n0,n1,n2)%产生x(n)=delta(n-n0);n1<=n<=n2;n=[n1:n2];x=[(n-n0)==0];在命令行窗口里执行:>>x= impseq(20,0,100);>> stem(x)有:2.单位阶跃序列产生函数STEPSEQ.Mfunction[x,n]=stepseq(n0,n1,n2)%产生x(n)=u(n-n0);n1<=n<=n2;n=[n1:n2];x=[(n-n0)>=0]; 在命令行窗口里执行:>>x=stepseq(20,0,100);>> stem(x)有:3正余弦信号的产生:% x(n)=1.5cos(0.02*pi*n) -150<=n<=150 n=-150:150x=1.5*cos(0.02*pi*n);stem(n,x)4.产生均值为0,方差为1的高斯随机噪声序列。
n=-150:150;Noise=randn(1,301);stem(n, Noise)(二) 序列的卷积一个线性系统一般应满足下式:y(n)=T[x(n)]由数字信号处理理论可知,线性系统的脉冲响应即为h(n),上式一般称为线性卷积,一般可以表示为:y(n)=x(n)*h(n)如果任意序列是无限长度的,就不能用MATLAB来直接计算卷积。
数字信号处理课程设计指导书90172
数字信号处理上机指导设计一 正余弦信号的谱分析【一】 设计目的1. 用DFT 实现对正余弦信号的谱分析;2. 观察DFT 长度和窗函数长度对频谱的影响;3. 对DFT 进行谱分析中的误差现象获得感性认识。
【二】 设计原理一、谱分析原理数字信号处理方法的一个重要用途是在离散时间域中确定一个连续时间信号的频谱,通常称为频谱分析,更具体地说,它也包括确定能量谱和功率谱。
数字频谱分析可以应用在很广阔领域,频谱分析方法是基于以下的观测:如果连续时间信号)(t g a 是带限的,那么它的离散时间等效信号)(n g 的DFT 进行谱分析。
然而,在大多数情况下,)(t g a 是在∞<<∞-t 范围内定义的,因此)(n g 也就定义在∞<<∞-n 的无线范围内,要估计一个无限长信号的频谱是不可能的。
实用的方法是:先让模拟连续信号)(t g a 通过一个抗混叠的模拟滤波器,然后把它采样成一个离散序列)(n g 。
假定反混叠滤波器的设计是正确的,则混叠效应可以忽略,又假设A/D 变换器的字长足够长,则A/D 变换中的量化噪声也可忽略。
假定表征正余弦信号的基本参数,如振幅、频率和相位不随时间改变,则此信号的傅立叶变换)(ωj e G 可以用计算它的DTFT 得到∑∞-∞=-=n n j j e n g e G ωω)()( (1.1)实际上无限长序列)(n g 首先乘以一个长度为M 的窗函数)(n w ,使它变成一个长为M 的有限长序列,)()()(1n w n g n g =,对)(1n g 求出的DTFT )(1ωj eG 应该可以作为原连续模拟信号)(t g a 的频谱估计,然后求出)(1ωj e G 在πω20≤≤区间等分为N 点的离散傅立叶变换DFT 。
为保证足够的分辨率,DFT 的长度N 选的比窗长度M 大,其方法是在截断了的序列后面补上N -M 个零。
计算采用FFT 算法。
二、MATLAB 函数介绍1. 输入函数input( )格式:R=input(string)功能:在屏幕上显示input 括号后的’string ’内容,提示用户从键盘输入某值,并将输入的值赋给R 。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验三 用双线性变换法设计IIR 数字滤波器一、实验目的:1、熟悉用双线性变换法设计IIR 数字滤波器的原理与方法。
2、掌握数字滤波器的计算机仿真方法。
3、通过观察对实际心电图信号的滤波作用,获得数字滤波的感性知识。
二、实验内容:1、 用双线性变换法设计一个巴特沃斯低通IIR 数字滤波器。
设计指标参数为:在通带内频率低于0.2π时,最大衰减小于1dB ;在阻带内[0.3π,π]频率区间上,最小衰减大于15dB 。
2、 以0.02π为采样间隔,打印出数字滤波器在频率区间[0,2π]上的幅频响应特性曲线。
3、 用所设计的滤波器对实际心电图信号采样序列(在本实验后面给出)进行仿真滤波处理,并分别打印出滤波前后的心电图信号波形图,观察总结滤波作用与效果。
三、实验步骤:1、 复习有关巴特沃斯模拟滤波器设计和用双线性变换法设计IIR 数字滤波器的内容,用双线性变换法设计数字滤波器系统函数)(z H 。
教材中满足本实验要求的数字滤波器函数()()()()()()51121212310.00737811 1.26860.70511 1.0100.35831 1.90440.2155k k z H z zz z z z z H z -------=+=-+-+-+=∏式中:()()2121121------++=CkzBkz z z A z H k ,k=1,2,3 A=0.09036,B 1=1.2686,C 1=-0.7051 B 2=1.0106, C 2=-0.3583 B 3=0.9044, C 3=-0.2155根据设计指标,调用MATLAB 信号处理工具函数buttord 和butter ,也可得到()z H 。
由滤波器的函数可见,滤波器()z H 由三个二阶滤波器()z H 1、()z H 2、()z H 3级联组成。
2、 编写滤波器仿真程序,计算()z H 对心电图信号采样序列a ()x n 的响应序列y(n)。
()n y k 为第k 阶滤波器()z H k 的输出序列,()n y k 1-为输入序列,根据滤波器()z H 的组成可得差分方程()()()()()()21212111-+-+---+=---n y C n y B n Ay n Ay n Ay n y k k k k k k k k 当1=k 时,()()n x n y k =-1。
所以()z H 对()n x 的总响序列()n y 可以用顺序迭代算法得到。
即依次对k=1,2,3求解差分方程,最后得到()()n y n y =3。
仿真程序就是实现上述求解差分方程和顺序迭代算法的通用程序,也可直接调用MATLAB filter 函数实现仿真。
3、 在通用计算机上运行仿真滤波程序,完成实验内容(2)和(3)。
四、实验报告要求:1、 简述实验目的及原理。
2、 由所打印的)(ωj e H 特性曲线及设计过程简述双线性变换法的特点。
五、心电图信号采样序列()n x :人体心电图信号在测量过程中往往受到工业高频干扰,所以必须经过低通滤波处理后,才能作为判断心脏功能的有用信息。
下面给出一实际心电图信号采样序列样本)(n x ,中存在高频干扰。
在实验中,以)(n x 作为输入序列,滤除其中的干扰成分。
}{⎪⎪⎪⎪⎩⎪⎪⎪⎪⎨⎧---=,0,0,12,38,4,4)(n x ,2,0,12,60,4,2---- ,22,10,84,6,0---- ,2,4,6,90,6,4----- ,2,0,6,66,2,6---}0,0,6,32,6,4--,0,4,4,12,2--,2,0,2,8,4---,2,0,4,0,6---,0,0,8,16,6--实验四 用窗函数法设计FIR 数字滤波器一、实验目的:1、掌握用窗函数法设计FIR 数字滤波器的原理和方法。
2、熟悉线性相位FIR 数字滤波器特性。
3、了解各种窗函数对滤波特性的影响。
二、实验内容及步骤:1、复习用窗函数法设计FIR 数字滤波器一节内容。
一般,设计线性相位FIR 数字滤波器采用窗函数法或频率抽样法,本实验采用窗函数法,采用矩形窗。
下面简要介绍窗函数法设计FIR 理论知识,更详细的相关知识请参考教材。
如果所希望的滤波器的理想频率响应函数为)(jw d e H ,如理想的低通,由信号系统的知识知道,在时域系统的冲击响应h d (n)将是无限长的,如图2、图3所示。
H d (w)-w c w c图2图3若时域响应是无限长的,则不可能实现,因此需要对其截断,即设计一个FIR 滤波器频率响应∑-=-=1)()(N n jwn jwe n h e H 来逼近)(jw d e H ,即用一个窗函数w(n)来截断h d (n),如式3所示:)()()(n w n h n h d =(式3)。
最简单的截断方法是矩形窗,实际操作中,直接取h d (n)的主要数据即可。
)(n h 作为实际设计的FIR 数字滤波器的单位脉冲响应序列,其频率响应函数为:∑-=-=1)()(N n jwn jwe n h e H (式4)令jwe z =,则∑-=-=10)()(N n n z n h z H (式5),式中,N 为所选窗函数)(n w 的长度。
如果要求线性相位特性,)(n h 还必须满足:)1()(n N h n h --±=(式6),根据式6中的正、负和长度N 的奇偶性又将线性相位FIR滤波器分成四类。
要根据所设计的滤波器特性正确选择其中一类。
例如:要设计线性相位低通特性,可选择)1()(n N h n h --=类。
有关窗函数的种类及特性,请参照教材。
2、编写程序1)编写能产生矩形窗、升余弦窗、改进升余弦窗和二阶升余弦窗的窗函数子程序,也可调用MATLAB 相关函数。
2)编写低通FIR 数字滤波器主程序。
3)上机实验内容。
A 、用升余弦窗设计一线性相位低通FIR 数字滤波器,截止频率rad c 4πω=。
窗口长度N =15,33。
要求在两种窗口长度情况下,分别求出h (n),打印出相应的幅频特性和相频特性曲线,观察3dB 带宽和20dB 带宽。
总结窗口长度N 对滤波特性的影响。
B 、n =33,c ω=4π,用四种窗函数设计线性相位低通滤波器。
绘制相应的幅频特性曲线,观察3dB 和20 dB 带宽以及阻带最小衰减,比较四种窗函数对滤波器特性的影响。
三、思考题:1、 如果给定通带截止频率和阻带截止频率以及阻带最小衰减,如何用窗函数法设计线性相位低通滤波器?写出设计步骤。
2、 如果要求用窗函数法设计带通滤波器,且给定上、下边带截止频率为1ω和2ω,试求理想带通的单位脉冲响应)(n h d 。
四、实验报告要求:1、 简述实验目的及原理。
2、 按照实验步骤及要求,比较各种情况下的滤波性能,说明窗口长度N 和窗函数类型对滤波特性的影响。
3、 总结用窗函数法设计FIR 滤波器的主要特点。
4、 简要回答思考题。
参考:用于数字信号处理的MATLAB 操作或者函数1、向量的生成:利用冒号(:)生成向量。
1)X=j:k (j<k)生成X=[j,j+1,j+2,…,k-1,k]2)X=j:I:k如果I>0 且j<k或I<0且j>k,则生成向量X=[j,j+I,j+2I,…,k-I,k]如果I<0 且j>k,则生成向量X=[j,j+I,j+2I,…,k]例: X1=1:5 X1=[1 2 3 4 5]X2=1:0.5:3 X2=[1.000 1.500 2.000 2.500 3.000] X3=5:-1:1 X3=[5 4 3 2 1]2、矩阵的生成:Zeros 生成全0阵B= Zeros(n) 生成n*n的全0矩阵B= Zeros(m,n) 生成m*n的全0矩阵B= Zeros(Size(A)) 生成与与矩阵A大小相同的全0矩阵注:m,n必须是一个非负数ones生成全1阵rand生成均匀分布的随机阵3、矩阵的算术运算1)加法和减法对于同维矩阵指令为:A+B、A-B;对于矩阵和标量(一个数)的加减运算,指令为:A+3、A-9 2)乘法和除法运算A*B 是数学中的矩阵乘法,遵循矩阵乘法规则;A.*B 是同维矩阵对应位置元素做乘法;B=inv(A)是求矩阵的逆;A/B 是数学中的矩阵除法,遵循矩阵除法规则;A./B 是同维矩阵对应位置元素相除;'A表示矩阵的转置运算;4、数组函数下面列举一些基本函数,他们的用法和格式都相同。
Sin(A),cos(A),exp(A),log(A)(相当于ln)Sgrt(A)开平方 abs(A)求模 real(A)求实部 imag(A)求虚部式中A可以是标量也可以是矩阵例:利用等差向量产生一个正弦值向量t=0:0.1:10A=sin(t)PLot(A)这时候即可看到一个绘有正弦曲线的窗口弹出。
另:每条语句后面加“;”表示不要显示当前语句的执行结果;不加“;”表示要显示当前语句的执行结果。
5、绘图(二维绘图)利用前例如果要使向量的横纵坐标一一对应,则应写为plot(t,A)。
如不要横坐标对应时,可只写plot(A)。
如果A是一个矩阵不是向量,则在同一窗口中可绘出与矩阵行数相同的曲线且颜色不同。
同时也可指定曲线的颜色和格式。
如plot(t,A,’b.’)则原来的连续曲线就变成了蓝色的点线。
下面给出常用选项。
r红 g绿 b蓝 y 黄 m 洋红 c青 w白 k黑━实线┅┅虚线*用星号标数据点。
用点标 o(字母‘o‘)用圆圈标 x(字母’x‘)用叉标-.点划线下面给出窗口分割语句 subplot(x,y,n),表示将一个窗口分割成x行,y列,共x*y个窗口,取第n个窗口为当前窗口。
例subplot(3,2,2) 分割3*2个窗口,取第二个窗口,如果下面有绘图语句,就表示要在第二个窗口中绘图。
6、联机帮助1)Help 准确指令,如Help elfunHelp expHelp ftt2)look for —有关指令,如Look for fourier本实验可能用到的一些序列和函数1)单位冲击序列()n N δ-:function [x,n]=impseq(n0,n1,n2) n=[n1:n2];x=[(n-n0)==0];利用逻辑运算实现在n=N 处为1。
如:impseq(5,0,10) 2)单位阶跃序列()u n N -):function [x,n]=stepseq(n0,n1,n2) n=[n1:n2]x=[(n-n0)>=0]; 利用逻辑运算实现在n >=N 处为1。
tepseq(5,0,10) 3)矩形序列:function [x,n]=stepseq(n0,n1,n2) n=[n1:n2]x=[(n-n0)>=0] stepseq(0,0,9)实现了()10R n也可以用function [x,n]=squseq(M ,N,n1,n2) n=[n1:n2]x=[(n-M)>=0&(n-N)<0] 利用逻辑运算实现在N>n >=M 处为1 4)正弦序列()()sin *x n n ω=x(n)=sin(n*pi) x(t)=sin(2*t)5)也可调用库函数产生一些信号如sinc 6)直接输入序列或者函数表达式 x(t)=sin(2*t)x(n)=[1,1,1,1,1,1]3、掌握二维绘图方法 1)plot----连续曲线 t=0:pi/50pi; y=sin(t); plot(t,y,)grid on 保留前面坐标系中已经存在的图形plot(t,y,s1,s2,s3) s1,s2,s3表示线型、颜色等p133 2)stem 离散图形[n,y]=squseq(4,4,0,10); Stem(n,y,o)3)一个窗口中绘制多个图形 Subplot(2,3,1) Plot(x)Subplot(2,3,2) Plot(y)滤波器设计中的可能要调用的函数见下面滤波器的设计中数字巴特沃兹滤波器的设计方法方法一%获得模拟滤波器的性能指标,边界频率进行预畸变校正,按公式2tan2Tω⎛⎫Ω= ⎪⎝⎭进Wp=0.2*piWs=0.3*pi;Rp=1;%单位DBRs=15; %单位DBFs=0.02*pi; %单位Hz%模拟滤波器设计[n,Wn]=buttord(Wp,Ws,Rp,Rs);%获得阶数和通带截止频率[z,p,k]=buttap(n);%设计模拟低通滤波器原型[b0,a0]=zp2tf(z,p,k);%转化为传递函数表示的滤波器[b,a]=lp2lp(b0,a0,Wn);%将滤波器原形转化为要求设计的低通滤波器%使用双线形变换法得到设计的数字滤波器[bz,az]=bilinear(b,a,Fs);[h,w]=freqz(bz,az);%计算频响绘频率响应曲线plot(h);方法二1,数字滤波器的性能指标归一Wp=0.2Ws=0.3Rp=1;%单位DBRs=15; %单位DB2,获得滤波器的阶数和通带截止频率[n,Wn]=buttord(Wp,Ws,Rp,Rs)设计巴特沃兹低通数字滤波器[b,a]=butter(n,Wn)Freqz=(b,a)方法三见本实验附录程序A=[0.09036,2*0.09036,0.09036];B1=[1,-1.2686,0.7051];B2=[1,-1.0106,0.3583];B3=[1,-0.9044,0.2155];[H1,w]=frez(A,B1,100);[H2,w]=frez(A,B2,100);[H3,w]=frez(A,B3,100);H=H1.*H2.*H3;mag=abs9h);db=20log((mag+eps)/max(mag));subplot(2,2,1)plot(w/pi,db)DFT的源程序functionX=dft(x)N=length(x);n=0:N-1;k=0:N-1;WN=exp(-j*2*pi/N);%求得WN因子%Nk=n`*k;WNnk=WN.^nk;%求得DFT运算矩阵,注意向量乘为点乘% X=x*WNnk%利用矩阵运算计算DFT%IDFT源程序。