第5章-MATLAB数字信号处理

时间:2022-11-21 04:41:31 作者:壹号 字数:8461字

通信原理 课件

第5章 使用MATLAB实现数字信号处理 本章主要内容如下:5.1 数字信号处理基本内容及相应的MATLAB 工具 5.2 信号通过系统的时域分析 5.3 信号通过系统的频域和Z域分析 5.4 滤波器设计 5.5 频谱分析

通信原理 课件

5.1 数字信号处理基本内容 及相应的MATLAB工具数字信号处理的基本内容通常分为两部分: 离散时间信号与系统分析 主要涉及离散时间信号与系统的时域、频域表示,以 及信号通过系统的时域、频域分析及其变换域分析。 MATLAB函数库中提供了filter, conv, convmtx, fft ,ifft, freqz, impz, zplane等与之相应的函数。 等 数字滤波器设计和谱分析 数字滤波器设计包括了无限冲激响应(IIR)和有限冲激 响应(FIR)滤波器设计,谱分析又可进一步分为线性 谱分析和非线性谱分析。MATLAB为此提供了多种成 熟算法的相应函数以及极为丰富的设计工具。

通信原理 课件

5.2 时域分析卷积,滤波,单位冲激响应

通信原理 课件

5.2.1 卷积 MATLAB提供 conv函数实现标准的一维信号卷积 : 例如,若系统h(n)为 >>h=[1 1 1] 输入序列x(n)为 >>x=[1 1 1] 则x(n)经过系统h(n)后的MATLAB实现为: MATLAB >>conv(h,x) 或 conv([1 1 1], [1 1 1]) 执行后即得到y(n)为 ans = 1 2 3 2 1 注意:使用conv 函数时,h(n) 和x(n)都必须是有限长的,, 否则不能使用conv 函数。

通信原理 课件

例5-1 时域离散序列的卷积计算 与图形显示 例5-1 (教材p63) :已知离散信号x(n)和h(n), 求y(n)=x(n)*h(n),并用图形表示。x1 (n) = R10 (n)

x1 (n) = R 10 (n)

x2 (n) = R10 (n 5)

h1 (n) = 0.9 R20 (n)n

h2 (n) = 0.9 n R20 (n)

y 2 ( n) = x2 ( n) h2 ( n)

y1 (n) = x1 (n) h1 (n)

通信原理 课件

例5-1的MATLAB程序Nh=20;Nx=10;m=5; n=0:Nh-1;h1=(0.9).^n; h2=h1; nx=0:Nx-1;x1=ones(1,Nx); x2=zeros(1,Nx+m); for k=m+1:m+Nx x2(k)=x1(k-m); end y1=conv(x1,h1); y2=conv(x2,h2); subplot(3,2,1) stem(nx,x1,'.') axis([0 30 0 1.2]),title(‘x1(n)’) …… (以下省略) %设定Nx,Nh和位移值m %产生h1(n) %产生x1(n) %产生x2(n)=x1(n-m) %产生x2(n) %计算y1(n)=x1(n)*h1(n) %计算y2(n)=x2(n)*h2(n)

%绘图

通信原理 课件

5.2.2 滤波 数字滤波器的系统函数H(z)用如下式表示:

b (1) + b ( 2 ) z 1 + + b ( n + 1) z n H (z) = a (1) + a ( 2 ) z 1 + + a ( m + 1) z m 在MATLAB中,用向量b,a来表示滤波器的系 数b(i)和 a(i)。

通信原理 课件

滤波器分类 当n = 0,m≠0时,称为AR滤波器,即自回归 (Auto Recurrence)滤波器,具无限冲激响应 (IIR),也即其单位采样响应h(n)具无限长度; 若m = 0,a(1) ≠ 0,称为MA滤波器,即滑动平 均(Moving Average)滤波器,其单位采样响 应h(n)是有限长度,故称有限冲激响应(FIR) 滤波器; 如果n、m都大于零,称为ARMA滤波器,而其 冲激响应也为IIR。

通信原理 课件

filter函数 MATLAB提供了 filter函数来对离散信号进行滤波,表 达信号通过

系统后的结果。 – 与conv不同的是,filter函数可适用于无限冲激响应 系统的情况,但信号仍须是有限长的。 例如,一个单极点的低通滤波器系数如下: >>b = 1; >>a = [1 -0.9]; >>y = filter(b,a,x); 就可给出输入x经过滤波以后的输出y。 % 分子系数向量b(i) % 分母系数向量a(i)

如果用filter函数实现对信号x滤波,只要调用:

通信原理 课件

5.2.3 单位冲激响应 数字滤波器的单位冲激响应定义为输入 为单位样本序列时数字滤波器的响应 , 即: h(n) = T [δ(n)] 其中: 1 n = 1 δ(n) = 0 n ≠ 1

通信原理 课件

…… 此处隐藏1115字 ……

freqz函数无返回输出参数格式的调用 freqz函数还能以无返回输出参数的格式调用: freqz(b,a,256)或 freqz(b,a,256,2000) 无返回输出参数调用freqz函数的好处是,MATLAB能 够自动绘出频率在(0~π)范围内的幅频特性和相频特 性图。 注意,无返回输出参数调用freqz函数绘出的相频特性 不能正确给定在 ω= π 处的值,这是因为在MATLAB ω 中, = π 属于下半个单位圆。

通信原理 课件

频率响应的实例 例:先构成一个截止频率为400Hz的9阶巴特沃思 (Butterworth)低通数字滤波器,求出其系数b,a,再 求出其256点频率响应。指定的采样频率fs =2000Hz。 实现1:先调用butter函数,再调用freqz函数; 实现2:无返回输出参数,调用freqz函数; 实现3:为得到完整的(0~π)范围内的幅相特性图, 可用带返回输出参数的格式调用freqz,在得到各频率 点上的频率响应的数值后,使用MATLAB所提供的abs 函数和angle函数分别提取幅频特性与相频特性。– 注意:为了得到连续的相频曲线,需要使用unwrap函数,该 函数通过在发生跳变后的各处自动加上,从而除去了相位的 跳变,这称为相位的“解卷绕”。

通信原理 课件

实现1[b,a] = butter(9,400/1000); % 括号中第一个输入是阶数,第二个是归一化 截止频率 [h,f] = freqz(b,a,256,2000); 或 h = freqz(b,a,256,2000);

通信原理 课件

实现2 实现1中第二条命令的形式 可改写为 freqz(b,a,256) 或freqz(b,a,256,2000) 可自动绘出频率在(0~π) 范围内的幅频特性和相频 特性图。 注意无返回输出参数调用 freqz函数绘出的相频特性 不能正确给定在ω=π处的 值,因为ω=π 属于下半个 单位圆。