归纳频谱分析和滤波器设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(参数矩阵 [b0k,b1k,b2k,1,a1k,a2k])
L k 1
(
b0k b1k s b2k s2 1 a1k s a2k s2
)
二。系统的表述 (离散系统)
– 状态方程模型 x(n 1) Ax(n) Bu(n)
– (参数矩阵A,B,C,D) y(n) Cx(n) Du (n)
二。系统的表述 (连续系统)
– 状态方程模型
x Ax Bu
– (参数矩阵A,B,C,D)
y Cx Du
– 传递函数模型
– (参数数组 a,b)
– 零极增益模型
– (参数数组 z,p,k)
W
(s)

bm1sm an1sn

bm2sm1 ... b2s b1 an2sn1 ... a2s a1
)
三。系统的表述 (离散系统)
• 状态方程模型(不用) • 传递函数模型(参数数组 ad,bd)
– ad =1 FIR滤波器(系统) – ad ~=1 IIR滤波器(系统)
• 零极增益模型(参数数组 z,p,k) • 极点留数模型(参数数组 r,p,C) • 二阶串接模型
连续系统和离散系统之间的转换函数 模拟/数字滤波器转换
– 极点留数模型
– (参数数组 r,p)
W (s) r1 r2 ... rn
s p1 s p2
s pn
– 二阶串接模型 (参数矩阵
W (z)
[b0k,b1k,b2k,1,a1k,a2k])

L k 1
(
b0k b1k z1 b2k z2 1 a1k z1 a2k z2
MATLAB\help\pdf_doc\signal\
滤波器设计工具fdatool功能
• 输入给滤波器规定的指标、类型与参数; • 自动或半自动地设计滤波器; • 用多种方法显示设计的结果; • 导入和导出滤波器的参数 • 分析、比较有限字长的效应对滤波器特
性的影响;
信号浏览器的概貌:
• 使用信号浏览器可以: • 分析和比较矢量或者矩阵信号. • 放大有关信号数据的某部分 • 测量各种各样的信号数据的特征 • 比较多种信号. • 在音频硬件上播送信号数据 • 打印信号.
传递函数 状态空间 零极增益 部分分式 格型结构 二阶串接 卷积矩阵
传递函数
tf2ss
tf2zp
residue tf2latc tf2sos convmtx
roots
residuez
状态空间 ss2tf
ss2zp
ss2sos
零极增益 部分分式 格型滤波
zp2tf poly
residue residuez

周期性连续信号 离散频谱
变换名称
傅立叶变换 离散时间傅 立叶变换
离散傅立叶 变换
傅立叶级数
在MATLAB中计算傅立叶变换
• 在MATLAB中的计算相当方便,只要下列两行八个语句: xn=input('x = '); N= (length(xn)); n = [0:1:N-1]; k = n WN = exp(-j*2*pi/N); nk = n'*k; WNnk = WN .^ nk; Xk = xn * WNnk
2。用变换函数bilinear或impinvar将模拟低 通原型变换为数字低通
3。用zmapping函数将数字低通变换为数字 高通、带通或带阻滤波器
(三)模拟及IIR滤波器设计步骤(用 Signal工具箱)
以椭圆滤波器为例
设计指标
Wp,Ws,Rp, Rs等 lp2bp ...
选类型 确定阶次
elipord ...
度单位等参数 • 使信号通过滤波器得到输出
信号滤波的sptool演示
• 用程序ffiltdem及ffiltdem1运行 • 将其信号数据和滤波器数据送至sptool • 再研究其输出信号 • 再观察其输入输出频谱;
切贝雪夫 I 左 半 平 面 接 近 单 通带有波动,阻带内无波动
位圆的椭圆上
切贝雪夫 II
通带无波动,阻带内有波动
椭圆
通带阻带均有波动
(三)IIR滤波器设计步骤(用书上的 方法和函数)
1。用buttap+求阶次N的公式→函数afd_butt 设计模拟低通原型;
数字指标:wp,ws,Rp,As先换成模拟指标 用双线性变换时wp,ws用预崎变变换
归纳:频谱分析和滤波器 设计
一。MATLAB表述的 信号和系统
一。离散信号的表述与运算
• 1。信号的表述:
用 n 及 x 两个数组,如书 impseq,stepseq,...
• 2。信号的初等运算;相加,相乘,移位 等,...(书 sigadd, sigmult, sigshift)
• 3。信号的卷积、相关、抽选等;conv, xcorr, xcov, decimate, ...
滤波器浏览器的概貌:
• 使用滤波器浏览器可以分析所选滤波器 下列的响应特征
• 幅度响应,相位响应 • 脉冲响应,阶跃响应 • 群延迟 • 极点和零点位置 • 滤波器浏览器能在任何时候显示出选定
滤波器的多达六种不同响应特征曲线.
滤波器浏览器可提供以下功能
• 缩放 • 测量滤波器响应 • 分析和修改滤波器响应 • 修改显示方法:例如频率范围或者重幅
W (s) k(s z1)( s z2 )...( s zm ) (s p1)( s p2 )...( s pn )
– 极点留数模型
– (参数数组 r,p)
W (s) r1 r2 ... rn
s p1 s p2
s pn
– 二阶串接模型 W(s)
求出模拟 原型滤波 器参数
ellipap
转换为数 字滤波器
bilinear
直接求出滤 波器参数
ellip
信号处理工具箱中滤波器设计界面
图形界面的滤波器设计工具fdatool 和信号处理工具sptool
• 要得到MATLAB的使用说明,可: • 1. 用help 命令 • 2. 用Acrobat Reader打开
• fft的频率轴应乘以2π/(N*Ts),单位:弧度/秒 或1 /(N*Ts)=Fs/N,单位:赫兹
作傅立叶反变换ifft时注意事项
• 1。x=ifft(X)中的X必须取全频段(-π~π]的 值。通常给出的X为[0~ π],要扩展。
• 2。实序列x的X为复数序列,其实部(幅 度)偶对称,虚部(相位)奇对称,这 可作为扩展的规则。
• 3。反变换x应取实部x=real(ifft(X)) • 4. 如X已含有采样周期T,反变换应除以T.
求连续信号频谱的程序例
• x=input('x(1:N)序列'); Nx=length(x); • K=nextpow2(Nx);N=2^K; n=0:N-1; • Fs=input('采样频率Fs= ');T=1/Fs; • X=T*fft(x); • m1=0:N/2-1;D=2*pi/(T*N); • subplot(2,1,1),plot(m1*D/(2*pi),abs(X(m1+1))) • m=-N/2:N/2-1; • subplot(2,1,2) • plot(m*D/(2*pi),abs(fftshift(X)))
X QX PU
• X= [x1;x2;…xK]为状态变量列向量; • Q为K乘K维的状态传送矩阵; • U = [u1;u2;…uL]为输入信号列向量 • P为K乘L维的为信号输入矩阵
移项: (I Q)X PU 最后公式为: W X /U (I Q)1 P
四。信号通过线性系统(滤波 器实现)
– 传递函数模型
– (参数数组 a,b)
– 零极增益模型
– (参数数组 z,p,k)
W
(
z)

bdm1 adn1
bdm2 adn2
z 1 z 1

... ...
bd2 z ad2z
m2 n2
bd1zm1 ad1zn1
W (s) k(s z1)( s z2 )...( s zm ) (s p1)( s p2 )...( s pn )
名称
近似过渡带宽 精确过渡带宽 最小阻带衰减
矩形
4π/M
1.8π/M
21dB
巴特利特
8π/M
6.1π/M
25dB
汉宁
8π/M
6.2π/M
44dB
哈明
8π/M
6.6π/M
51dB
布莱克曼
12π/M
11/M
74dB
取Kaiser窗时用MATLAB中的kaiserord函数来得到长度M
FIR滤波器的其他设计方法
latc2tf
zp2ss
zp2sos
二阶串接 sos2tf sos2ss sos2zp
卷积矩阵
用MATLAB与信号流图求系统
• 信号流图方程列写
– 设Ki个输入节点ui – K个中间和输出节点xj – 方程为
K
Ki
x j q jk xk p jiui
k 1
i
– 写成矩阵形式:
j 1,...K
– 正变换 – – 反变换

F ( ) f (t)e jtdt

f (t)
1

F ( )e jt d
2
离散时间傅立叶正反变换 离散傅立叶正反变换

F ( ) f (n)e jn
n
f (n)
1

F ( )e jtd
2
N 1
• 1。双线性变换函数 bilinear [NUMd,DENd] = bilinear(NUM,DEN,Fs)
H(z) = H(s) | | s = 2*Fs*(z-1)/(z+1)
2。脉冲响应不变法impinvar [BZ,AZ] = impinvar(B,A,Fs)
信号处理工具箱提供的线性模型转换函数
(二)频率抽样法
朴素算法: 等波动方法(用remez函数)
(三)约束最小二乘法(fircls)
约束指的对波动的上限有规定
均方误差最小化准则 最大误差最小化准则
四。模拟及IIR数字滤波器设计
(二)几种模拟原型的主要特点
类型
极点
幅频特性
巴特沃斯 左 半 平 面 等 相 角 通带阻带均无波动
间隔的单位圆上
• 信号与系统脉冲过渡函数的卷积 y=conv(u,h),... 差分方程解法 y=filter(bd,ad,u)
– 滤波器实行中的其他函数:
• fftfilt; latcfilt,sosfilt…等
• Z-变换及反变换
– 部分分式展开 – 长除
二.频谱分析(第三、五章)
• 傅立叶变换(包括连续和离散形式 )
有限长度的h; • 4. h就是FIR滤波器分子系数,可用freqz
函数验算其幅频特性
滤波器的设计指标
• 类型和理想特性
– Wn=[wc1,wc2,…]处的理想幅特性 – A=[A1,A2,…]
• 各段允许误差Rp,As,(或delta1,delta2)
根据过渡带宽选择FIR滤波器 窗函数类型和长度M的公式
三。FIR滤波器的设计
(一)FIR滤波器的特点:
• (1)线性相位,波形失真小; • (2)极点在z-平面原点,必稳定; • (3)易于实现
(二)窗函数法
• 1. 定预期频率特性:
– 通带幅频特性为1,相位线性;1*exp(-a*w) – 阻带幅频特性为0;过渡带宽
• 2。由预期特性求预期脉冲响应hd • 3。把脉冲响应与窗函数相乘,得实际的
F (k ) f (n)WNnk
0
f
(n)

1 N
N 1
F (k )WNnk
0
其中WN
j 2
e
连续和离散傅立叶变换的对比
时域信号(傅立叶 频谱曲线(傅立
反变换)
叶变换)
连续信号
连续频谱
离散信号(有限样 周期性连续频
本点)

多周期离散信号 频谱向等间隔
离散点集中
周期性离散信号 周期性离散频
ftdemo
Matlab程序
离散频谱与连续频谱的转换
• MATLAB只能处理离散量,把离散量取得很密 时,就接近于连续量。在时间轴上取得很密, 对应的频谱应该取得很窄,离散傅立叶变换的 最高频率通常取为2pi,故只能取到0.2*pi以下 的部分,才代表连续系统的频谱。
• 另外它抽去了时间和频率,应当补上。时间应 乘以采样周期Ts,即X=Ts*fft(x)
• 在《数字信号处理及其MATLAB实现》书pp119-120中,定义它为dft函 数,相应也定义了idft函数,即 X=dft(x,N) x=idft(X,N) 但其运算速度低。
• 在MATLAB中设有基本函数fft,它是快速傅立叶变换的缩写,调用形 式为:X=fft(x,N) x=idft(X,N) N取为2的幂次时,速度最快。(令N=2^nextpow2(N);) 它的功能和dft相同,不过速度快得多,而且有许多出错提示能力。
相关文档
最新文档