归纳频谱分析和滤波器设计
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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相同,不过速度快得多,而且有许多出错提示能力。
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相同,不过速度快得多,而且有许多出错提示能力。