use*_*868 3 signal-processing frequency filter
我找不到关于这个主题的任何可理解的信息.在荷兰维基百科上,我发现你可以应用一个z变换来生成这种形式的公式:
www.music.mcgill.ca/~gary/618/week1/img15.gif
以FIR滤波器为例:
upload.wikimedia.org/math/b/9/e/b9e2ed5184f98621922f716e5216f33d.png
使用z-transform:
upload.wikimedia.org/math/4/d/6/4d6621be8fabf4db8816c12f34ed9877.png
在那个例子中,e ^ it(自然对数上升到虚数单位,t = theta)代替z: upload.wikimedia.org/math/0/6/e/06eada8fedfb492bd63bb50491b042aa.png
然后使用该函数的图并将其视为频率响应.我认为这种方法很容易计算滤波器的频率响应.但是,这种方法有效吗?当我想到一个小的延迟("阻挡"原始信号)时,我发现每个频率的频率响应应为1,因为信号没有改变,只是延迟了,但是用这种方法,我计算出频率响应是:
y(n) = 0*x(n) + 1*x(n-1)
Run Code Online (Sandbox Code Playgroud)
Z变换
H(z) = 0 + 1z^-1
Run Code Online (Sandbox Code Playgroud)
替换e ^ it(用t = theta):
H(e^it) = 0 + 1 * e^-it
Run Code Online (Sandbox Code Playgroud)
由于这会产生正弦波作为频率响应,我必须做错事,或误解某事.如果有人可以帮助我,我会很高兴!
根据rwong的评论,系统功能H为您提供系统在特定频率下的相位和幅度响应.这意味着如果系统的输入是cos [ωn] = cos [2πfn],则输出将是(f)cos [2πfn+Φ(f)],其中a(f)= | H(f)| Φ(f)=相(H(f)).在您的情况下,幅度为1,因为信号没有以任何方式缩放,只是在时间上移位.并且相移是-ω,其中ω是系统的正弦输入的角频率.
我希望以下内容对于Stack Overflow来说并不算太简陋,但是对于时间序列分析的基本基础知识可能会对miniear和其他人有所帮助.
如果你的系统的脉冲响应为h [n] =δ[n-1](其中δ[n]是一个delta函数),如你的例子所示,这意味着你将输入延迟了1个步骤.想想这对于正弦曲线的相位意味着什么.变化最快的正弦波的数字频率为0.5(即2个样本的周期) - 例如cos [πn].这是系列[1,-1,...].如果将此信号延迟1,则得到系列[-1,1,...],即cos [πn - π] = cos [π(n - 1)],即输入信号相移-π弧度(-180度).查看数字频率为0.25的较长周期信号(即4个样本的周期) - 例如cos [0.5πn].这是[1,0,-1,0,...]系列.单位延迟产生系列[0,1,0,-1,...],即cos [0.5πn - 0.5π] = cos [0.5π(n - 1)],即输入信号相位偏移 - π/ 2弧度(-90度).同样的,
很明显,如果输入角频率是ω(例如0.5π),则输出将相移Φ=-ω.将信号看作是在逆时针路线上围绕单位圆的火车,其时间序列值对应于该路线上的停靠点.角频率为0.5π意味着它在以下弧度值处停止4次:0,0.5π,π,1.5π.然后它返回0并反复重复循环.如果这列火车延迟停车,则对应于预定航线上-0.5π弧度的偏移.
回到H(f),我希望它为什么等于exp(-i2πf)= exp(-iω)是有道理的.类似地,如果你的系统有一个2的延迟,那么h [n] =δ[n-2]和H(f)= exp(-i4πf)= exp(-2iω) - 这是2个停止的延迟单位圈.这就是系统/滤波器的所有频率响应告诉您,即系统将每个输入正弦波作为频率的函数进行缩放和延迟的程度.
FIR系统(即有限脉冲响应,对应于移动平均模型[MA])是最简单的,因为它们只是前馈路径上的delta(即比例和延迟)函数的总和.IIR系统(即无限脉冲响应,对应于自回归模型[AR])分析更有趣,因为它们具有反馈路径.
| 归档时间: |
|
| 查看次数: |
7181 次 |
| 最近记录: |