创建流程图
准备阶段
我们要准备以下方块
- Signal Source
- Low Pass Filter
- Throttle
- QT GUI Frquency Sink
- QT GUI Range
具体连接
把它们以下面这样的形式进行连接:
双击QT GUI Range进行设置以下设置:
- id : frequency
- Default Value : 0
- Start : -samp_rate/2
- Stop : samp_rate/2
双击Signal Source进行设置频率,将ID改成frequency
设置Low pass filter的Cutoff Freq 和 Trasnsition width 的值:
- Cutoff Freq : samp_rate/4
- Transition Width : samp_rate/8
这样我们就能看到频率响应
分析
这个流程图的核心作用只允许低频信号通过,衰减/滤除高频信号。
我们知道samp_rate = 32k, samp_rate/4 = 8k, samp_rate/8 = 4k
截止频率对应8k,过度带宽对应4k。
从而得知8Khz以下信号通过,8Khz以上信号衰减。
我们调的frequency对应的是发出的正弦波信号,调它我们可以直接看到波形的变化。
低通滤波器在截止频率附近,不是瞬间没得而是慢慢衰减下去的。
我们可以将低通滤波器进行分区:
- 通带 : 从0到截止频率,顾名思义信号可以几乎无损的进行通过
- 过通带: 从截止频率到阻带其实频率,幅度快速下降过度到阻带
- 阻带 : >阻带起始频率,信号被大幅衰减并抑制,通常要求<=-60dB
数学计算
我们首先计算过度带内的频率: - samp_rate
- Cutoff_Freq
- Transition Width $TW=4000
- Stopband Cutoff Frq
- Typical value of stopband attenuation
- Cutoff Attenuation
插值计算:
含义: - 从截止频率-3dB开始
- 随频率线性增加衰减
- 到阻带起点达到-60dB
但是还是要考虑都窗函数,会有误差。
但是你带入计算时会发现数值差距比较大,这是因为GNURadio低通滤波器用的是FIR频率响应
感兴趣的可以百度一下哈