1、数字信号处理(微固学院 张鹰)第一章 概述信号的定义及表达信号:带有信息的任何物理量本课程讨论的信号:时间函数 tx连续时间信号 CT 离散时间信号 DT 模拟信号到数字信号 采样(时间离散化) 量化(取值离散化)(P.7 图 1.6)数字信号的表达:二进制数组 -二进制编码数制转换: 10 进制-2 进制 MSB 和 LSB 符号数的表达:符号位(补码)数字信号处理分析方式: 理论分析设计 采用 DT 信号进行 (本课程内容)实时电路处理 采用数字信号进行 (数字电路内容)数字信号的特点及应用特点:数字信号与模拟信号的比较抗干扰性强、精度高、容易存储、可灵活处理与计算机系统兼容数字技术的应用
2、领域语音技术(传输、识别、合成)图象处理(静止图象、移动图象、三维动画)地波分析(地震探测、地质探矿)谐振分析(高层建筑、桥梁、机翼等)自动控制 实时检测本课程的主要教学安排:主要内容:(50 学时)数字信号的频率分析:定义、变换与计算 (22 学时)频率定义、CTFS 与 DTFS、CTFT 与 DTFT、DFT 与 FFT数字信号的频率处理:滤波器设计 (26 学时)LTI 系统分析理想滤波器与低阶数字滤波;FIR 滤波器设计、IIR 滤波器设计数字滤波器结构与误差分析教材与参考书: 教材: Digital Signal Processing spectral computation an
3、d filter design (Third edition) (美) Chi-Tsong Chen 电子工业出版社 2002 版数字信号处理基础 (加)Joyce Van de Vegte 著侯正信 王国安 等译 电子工业出版社 2003 版信号与系统计算机练习利用 MATLAB John R.Buck刘树棠 译西安交通大学出版社 2000 版 主要工具:MATLAB :信号波形图、频谱计算与分析滤波器设计及系统频率特性分析考核方式:平时作业 30%考试(笔试、开卷) 70% MATLAB 的基本应用方法命令窗口(Command window)的使用:输入各类变量或函数名称,按回车即得到当前
4、变量或函数值;输入各类命令,按回车即得到该命令执行结果;若需要输入多行命令或程序,各行间用“;”间隔;M 文件的编制与调试执行打开空白文件或已经有的文件,进行程序文件的输入编辑;各行间用“;”间隔;一行中“%”以后内容为注释部分,不影响程序执行;程序编制完毕后,可以按“F5”键保存执行,注意根据屏幕提示建立文件名称;如果出现错误,可在命令窗口看到错误类型及位置,根据错误检测信息对程序进行调试;MATLAB 命令及函数信号的表达方式及作图在 MATLAB 中,任何变量或函数均表现为向量,任何向量的元素编号均从 1 开始;序列(向量)表达方式设定坐标向量 n 和信号向量 x;x 和 n 为长度相同
5、的向量,向量的编号从 1 开始; n=-2 :0.1:2 坐标向量可以直接逐点写出:n=2 3 4 5 6 7;也可以采用起点,终点和步长的形式写出:n=-2 :0.1:2 ;信号向量可以直接逐点写出:x=1 2 3 4 3 2;也可以采用与 n 有关的函数运算形式写出: 例如: x=3*n x=exp(j*(pi/8)*n) 作图: 采用 stem(n,x) 作出离散图形 DT 信号采用 plot(n,x) 作出连续图形(折线连接) CT 信号作图时主要通过合理设置 n 的范围及步长来保证变量坐标的正确性;可以利用title,axis 等函数为图形设置说明和坐标范围;特别注意:作图时必须保证
6、坐标向量与信号向量长度完全一致;0101:离散序列的作图直接表现离散序列n=2 3 4 5 6 7;x=1 2 3 4 3 2;stem(n,x);0102:将图形表现为连续曲线n=2 3 4 5 6 7;x=1 2 3 4 3 2;plot(n,x);0203:信号表现为坐标向量的函数n=2 3 4 5 6 7;x=exp(j*(pi/8)*n);plot(n,x);0204:图形说明和坐标范围的设置n=-20:0.5:20;x=exp(j*(pi/8)*n);plot(n,x),title(n=-20:0.5:20;x=exp(j*(pi/8)*n);plot(n,x);axis(-20,
7、20,-2,2);第二章 DTFS 和 CTFS-周期信号的频率分量信号的时域表达形式:连续时间信号 CT 离散时间信号 DTDT 信号由 CT 信号采样得出CT 信号 采样信号 DT 信号 txnTxnx周期信号:每隔一段时间重复的信号,.21k信号变化快慢的描述:周期 T:信号重复的时间间隔 频率 :单位时间内信号重复的次数 0频域表达形式 人类接受的自然信号主要以频率形式表达:声音 色彩信号分析的重要任务:从时域信号得出频域信号频率的定义-单频率时间信号CT 信号的频率与周期性密切相关标准信号 ttx01sinttx02cosjej3in上述信号均为周期信号,周期为 T;频率均为 ;0周
8、期与频率的关系 取值范围 02,DT 信号的频率 (仿照 CT 信号定义)DT 信号由 CT 信号采样得到;周期信号的采样不一定为周期信号;对于 DT 信号,频率与周期没有直接对应关系;仿照 CT 信号定义基本信号 Tnx01siTnx02cosjej03 ics上述信号频率均为 )在 主 值 区 域 内 的 对 应 值d(要点:信号 的时域性质:非周期性nTj0频率性质:多重性频率范围 取值范围 Nyquist frequency ranged/,(T与采样频率有关dCT 与 DT 信号频率之间的关系:P. 29fd 与采样频率有关,位于 范围内; 5.0,(sf将高频按周期折合到低频(主值
9、区) ;例 p.27 2.1 2.2付氏级数及频率分量一般周期时间信号的频率:采用单频率信号表达CTFS (连续时间付氏级数)定义式 (周期信号:周期为 P)mtjectx0/2Ptjdt01存在条件: 绝对可积,而且在一个周期内间断点和极值点有限; tx频率分量:CTFS coefficient / frequency component通常为复数: Magnitude phase phase 的范围 ,(共轭对称性:奇偶性kFSatx real : evenkRe: oddkaImreal and even real and evenreal and odd imaginary and o
10、dd 周期信号频率分量的计算 (例 P.38) 要点: P/202.4 利用简单分解求 mc 0(AAFS常 数 ) nBcBemtjn02.5 利用公式求矩形脉冲的PactatxmFS0si201其 余2.6 利用公式求冲激串(sampling function)的TckTttrmFSk 1 周期信号的时间范围: 双边信号),(一般周期信号的频率范围: 若对于所有的 ,则称为带限信号;0,mcM频率分量的意义:平均功率: 只与 magnitude 有关phase 的影响:对信号波形的影响对视频有影响,对音频没有影响DTFS(离散时间付氏级数)定义式NmnTjdecnx0NnnTjmmdexc
11、01频率分量讨论:的周期性 只有 N 个独立系数 d共轭对称性:奇偶性 m 的取值范围:应使 的范围为NTm/20/,(T时移的影响: 线性相位变化例 p.4854 2.8 利用公式直接计算系数 N=32.9 利用公式直接计算系数 N=42.10 时移的作用时移不影响 DTFS 系数的幅度,只在系数中加入线性相位;利用 MATLAB 计算频率分量DTFS 系数的 FFT 计算重要函数 c=(1/N)*fft(x) x=N*ifft(c)应用要点:x 和 c 的序列都为 N 个元素,下标排列都为 1 N,分别对应于离散时间 n 0.N-1和离散频率 m 0.N-1;DTFS 可以利用任何一个周期
12、进行计算;在采用 FFT 的时候,输入数据必须从 n=0 到 N-1;利用 shift()函数(P.56)可以使频率向量排布在对称区间内:N 为 odd 时,下标 0 在正中, N 为 even 时,下标 0 偏左;利用 m=ceil(-(N-1)/2):ceil(N-1/2)可以得到对应的横坐标;注意:c 为周期序列,周期为 N;例:2.8 2.9 程序 P2.2 ( P.57 )例 2.8 题的求解 N=3;T=0.5; x=-2 1 0.6;例 2.9 题的求解 N=4;T=1; x= 2.5 -0.4 1 -2;%program 2.2N=3;T=0.5; x=-2 1 0.6;D=2
13、*pi/(N*T);X=fft(x/N);m=ceil(-(N-1)/2):ceil(N-1)/2);w=m*D;subplot(2,1,1),stem(w,abs(shift(X),title(a);subplot(2,1,2),stem(w,angle(shift(X)*180/pi),title(b);CTFS 系数的 FFT 计算问题:x 为连续信号;m 取值范围为无限大区间; 方案:在一个周期内取 N 点对 x 进行采样(离散化) ;求出 DTFS 系数-周期序列;取主值范围内的序列即为对应 CTFS 系数;当 x 为带限信号时,在满足采样定理条件下可以得出准确的 CTFS 系数;例
14、 2.4 题的求解 2.12%program 2.2P=2*pi/0.3;N=11;T=P/N;D=2*pi/P;n=0:N-1;x=-1.2+0.8*sin(0.6*n*T)-1.6*cos(1.5*n*T);X=fft(x/N);m=ceil(-(N-1)/2):ceil(N-1)/2);w=m*D;subplot(2,1,1),stem(w,abs(shift(X),title(a);subplot(2,1,2),stem(w,angle(shift(X)*180/pi),title(b);对于带限信号,在满足采样定理的条件下,不同大小的 N 值(采样数量)得到的幅频分量相同;若采样周期
15、不够小,则将产生频率混叠失真;例 2.3 频率混叠的影响例 2.5 题的求解通过改变采样点数量 N,可以比较混叠的影响大小%program 2.4hold on;N=42;P=4;T=P/N;D=2*pi/P;q=floor(1/T);x=ones(1,q+1) zeros(1,N-2*q-1) ones(1,q);X=fft(x/N);m=ceil(-(N-1)/2):ceil(N-1)/2);stem(m*D,shift(X),b,fill);对于在足够逼近条件下,magnetude 可以得到足够良好近似值;(能量逼近) ;但计算出的 phase 不会得出良好近似值(通常不采用) ;关键:
16、N 的选取(足够大以获得良好近似,足够小以减少运算量)根据设定的精确度,求出最小的 N:令 N=2n,选定 n 的特定值,再逐 1 增加;重复计算在 Nyquist 范围内的系数差,直到系数差小于设定值为止;例 2.6 根据设定最大误差,自动选取最小采样点数量,并求出满足要求的频谱例 2.5 题的求解% program 2.6a=1;b=100;P=4;D=2*pi/P;beta=1;while bbetaN1=2a;T1=P/N1;q1=floor(1/T1);x1=ones(1,q1+1) zeros(1,N1-2*q1-1) ones(1,q1);X1=fft(x1/N1);N2=2*N
17、1;T2=P/N2;q2=floor(1/T2);x2=ones(1,q2+1) zeros(1,N2-2*q2-1) ones(1,q2);X2=fft(x2/N2);m1p=0:N1/2;d=max(abs(abs(X1(m1p+1)-abs(X2(m1p+1);mm=max(abs(X1(m1p+1);b=d/mm*100;a=a+1;endN2,bm=-N2/2+1:N2/2;stem(m*D,abs(shift(X2);对此程序作少数改动可以得到对其他信号的计算:P.73 例 2.14 平均功率计算CT 信号 mavcP2DT 信号 10Nd例 2.15 分别采用时域序列和频谱序列求
18、信号平均功率例 2.4 题的信号功率%program 2.8P=2*pi/0.3;N=11;T=P/N;n=0:N-1;x=-1.2+0.8*sin(0.6*n*T)-1.6*cos(1.5*n*T);P1=sum(x.2)*T/PX=fft(x/N);P2=sum(abs(X).2)例 2.16 采用频谱序列求信号平均功率例 2.5 题的信号功率%program 2.9N=1024;D=2*pi/4;x=ones(1,257) zeros(1,511) ones(1,256);X=fft(x/N);mu=floor(5/D);m=2:mu+1;p=abs(X(1)2+2*sum(abs(X(
19、m).2)第三章 CTFT 和 DTFT-一般信号的频谱实际信号都是非周期信号(非双边信号)周期信号对应于离散频率分量(离散频谱)非周期信号对应于连续频谱CTFT 连续时间信号的付氏变换 定义式deXtxtj21频谱ttj存在条件: 绝对可积,而且在一个周期内间断点和极值点有限; tx例 3.1 eatu(t) 的频谱 01 ajtuetFTaP.85 图 3.1例 3.2 wa(t)的频谱:时域窗口函数aatxFTsin201 P.87 图 3.2主瓣:高 2a,宽 2/a旁瓣:宽 /a零点:n /a窗口宽度与主瓣/旁瓣宽度成反比;窗口的时移不改变幅频特性,只引入线性相位;例 3.3 模拟理
20、想低通滤波器 :频域窗口函数 其 余01sinsi cFTccHtttxP.89 图 3.3CT 周期信号的频谱020 FTtje步骤:将 CT 周期信号先展开为 CTFS,再进行逐项变换;若干常用信号的频谱(P.91 图 3.4)1 T000sin jjtFco TjtuF1例 3.4 冲激串的 CTFT mFTktjmetr 020 频谱的性质 jXtx连续有界:若 绝对可积,则 有界并连续;奇偶性: P.94 表 3.1jtF 时间实函数-幅频偶、相频奇时间实偶-频谱实偶时间实奇-频谱虚奇时移与频移: jXetxtjF00 00 jXtxeFj时移引入线性相位,频移对应复指数调制时间尺度
21、变换: ajatF1jXx时间压缩对应频谱扩展Parsevals relation 能量的频率分布djXdtxE221能量只与幅频特性有关,时移不影响信号能量分布周期信号与非周期信号的能量对比周期信号能量为无限大,平均功率为 ,非零功率只存在于离散频率点;mavcP2绝对可积的非周期信号能量为 ,在任何djXdtxE221特定频率点能量为零,能量分布于频率区间上;连续时间信号截断对于频谱的影响只有极少数信号可以求出频谱的解析表达式;绝大多数实际信号只能采用数值方式求解频谱;对无限长时间连续信号,在实际计算时必须考虑截断并离散化;时域截断模型:以窗口函数乘以时间函数 twxa时域乘积对应于频域卷
22、积: dXWXaa21其中 sin单频率信号的截断效果 (P.104 图 3.8)使单频率展宽,出现主瓣(高 L=2a、宽 4/L)和旁瓣(高betaN1=2a; n1=0:N1-1; x1=0.9.n1;X1=fft(x1);N2=2*N1; n2=0:N2-1; x2=0.9.n2;X2=fft(x2);m1p=0:N1/2;d=max(abs(abs(X1(m1p+1)-abs(X2(2*m1p+1);mm=max(abs(X1(m1p+1);b=d/mm*100;a=a+1;endN2,b连续时间信号的频谱计算当连续时间信号不能表达为闭合形式时,只能采用数值计算;连续信号的计算必须先在
23、长度为 L 的区间内经时间采样(周期 T)成为 N 点序列,才能进行计算;本节只考虑绝对可积的连续时间信号;正区间信号 (t0 时,x=0) 选择信号区间0,L:L=TN需考虑的问题: 频率混叠-T 尽可能小 频率分辨率-N 尽可能大截断效应-L 尽可能大计算量-N 尽可能小建议步骤:首先选择 L 使其包含 x 明显不为 0 的主要区域;然后寻找最小的 a,使得采用 N=2a 点序列和 N/2 点序列计算之差在指定误差范围(幅频特性峰值的百分比)内,由此确定使频率混叠可以忽略的采样周期 T;利用已确定的 T,寻找最小的 a,使得采用 N=2a 点序列和 N/2 点序列计算之差在指定误差范围(幅
24、频特性峰值的百分比)内,由此确定使截断效应可以忽略的信号区间 L;采用上述方式,可以使幅频特性、频谱实部及虚部均收敛于实际频谱,只有相频特性不收敛;例 P.165170连续时间周期信号的频谱计算对于周期信号,由于无限长而且不满足绝对可积条件,将其截断时必然产生严重的截断效应(频率漏泄) ;周期信号在频谱中对应于冲激,其特点为:当 N 加倍时,冲激高度加倍,宽度变窄;由此效应可判断频谱中是否存在周期信号。对周期信号应采用 CTFS 进行计算:在一个周期内计算频谱。计算可以得出精确的幅频特性,但通常不能得到准确的相位(相位与延时有关) 。由频谱计算离散时间信号 (反变换)对反变换进行数值计算时,同
25、样可以利用 FFT 函数进行;对于存在于对称区间内的频谱,计算开始前必须按周期扩展方式,选取以 0 为起点的周期中的序列;对频谱采样点 N 的选取应确保消除时域混叠效应,其判据为:所得时域信号有一段区域全为 0;由于 DFT 是由时域信号经过周期扩展后,任选一个周期计算所得,因而一次反变换通常无法确定时域信号的原始起点;采用不同的 N 进行多次反变换,对比其公共序列,可以确定出原始时间序列的起点:不同的 N 对应于不同的补 0 序列,这些序列由于周期长度不同除了在原周期内一致外,在其他地方通常会有差异;例:P.175178 图 4.21 4.22 4.23若某频谱所对应的时间序列为正区间信号,
26、并且频率采样点 N 大于从 n=0 开始的时间序列长度,则由 inverse FFT 计算出的序列就是原始序列。由频谱计算连续时间信号 (反变换)首先对无限的频谱进行截断:选择 T 使得 TX/0然后对连续频谱采样离散化:在有限区间 内选取 N 个频率采样点;/,(采用 inverse FFT 计算得到时间序列: nx连续时间信号与时间序列的关系为:Tt例 P.180182 采用 FFT 计算信号能量对于连续信号 ,其总能量为XtxFT t ddE221将有限区域内将时间信号离散化,得到:nTxt 102NnTxE利用 FFT 可以得出离散时间序列 的离散频谱 ,则其能量也可以表dX示为:10
27、2NndmXTE例 P.183184 求矩形窗频谱主瓣的能量百分比;频谱计算总结:在信号分析时,考虑信号分布于全部时间区域有利于频域分析的简化;但在进行 FFT 计算时,正区间信号比较简便;对于连续信号,信号出现的时间可以选为 t=0,因此所有实际信号都可以看作为正区间信号;利用 fft 和 shift 函数进行正变换,可以直接得到 区间的频谱;/,(T将对称区间的频谱变换到 区间,利用 ifft 函数可以得到原始的时间序列)/2,0T(选择 N 使得得到的非零序列的最后若干位实际上全为 0) ;第 5 章 线性时不变集总系统系统:信号之间的关系 输入信号系统处理-输出信号确定的输入只产生唯一
28、确定的输出 连续系统 txty离散系统nn线性系统可加性 yx2121比例性 ayii时不变系统时移不变性 11nnx对于时不变系统,可以将输入信号开始出现的时间设置为 0;初始松弛条件系统初始状态为 0;0yn在系统分析中,通常只考虑正时间区间 ;),线性时不变系统-LTI 系统 nyx LTI 系统的卷积描述冲激序列 kkn01只在一个时刻取值为 1,在其他任何时刻取值为 0;任意信号序列可以用冲激序列表示: 0kknxn冲激响应 h 00 kk knhxyx离散卷积 0knn由系统冲激响应 可以得出系统的全部特性,设计系统就是设计系统的冲激响应;h例 5.1 由系统特定输入输出求 ,进而
29、得出 的一般形式; ny例 5.2 由 求系统的差分方程(移动平均滤波器) ;n因果性 0h输出信号产生于输入信号之后;物理系统实现的必要条件;对于因果系统, nknk kxhxy00卷积具有交换性。系统的表达:冲激响应-序列 hFIR 滤波器 有限冲激响应 长度 N 为有限例如:移动平均系统 无记忆系统(乘法器)IIR 滤波器 无限冲激响应LTI 系统的差分方程描述在卷积描述中,随着 n 的增加, 的计算量增加;y利用差分方程,可以有效减少计算量和存储量;例 5.1 储蓄系统 nxy105.1系统流程图 (系统硬件实现的一种具体方式)只由 3 种基本单元组成单位延迟 乘法器 加法器 (P.2
30、01 图 5.3)差分方程与系统流程图很容易相互表达;集总系统:可以用有限个延迟器实现;任何 LTI 系统都可用卷积描述,只有集总系统可以采用差分方程描述;差分方程的一般形式:(后向差分)KkMmnxbnya11系统的表达:序列 a 序列 b递归方程 .1.22132 nxby当前输出与以前的输出有关:系统中存在反馈;与 IIR 系统对应;非递归方程:除了 外,所有 都等于 0;1ak.2nxbny当前输出与以前的输出无关:系统中不存在反馈;与 FIR 系统对应;与冲激响应的关系:.10xhy系数序列即为冲激响应序列 (序列 b 与序列 h 对应) ;FIR 系统也能表达为递归方程以减少运算量:例 5.3采样周期与实时处理过程在实时处理过程中,采样周期受运算周期限制,不能过小;在非实时处理(存储处理)时,可以不受运算周期和因果性的限制;z-变换 系统表达的重要工具定义:对于正区间信号 ,其 z-变换定义为nx0nzzX例 5.4 z-变换的计算:直接利用定义式和求和公式;反 z-变换:长除法,对 z 进行降序排列;收敛域问题:保障求和有限的 z 的可能取值区间;ROC ,:az简单信号的 z-变换:只考虑正区间,n 从 0 开始k