多重速率的过滤MATLAB和金宝app
多重速率的过滤器是数字滤波器,采样输入信号的采样率变化。率转换的过程涉及到一个upsampler, downsampler和低通滤波器来处理信号。
最基本的多重速率的过滤器插入器,杀害多人者,noninteger采样率转换器。这些过滤器是构建的组件更先进的过滤技术,如信道器通道合成器,双通道滤波器,正交镜像滤波器(QMF)。你可以在MATLAB设计这些过滤器®和仿真软金宝app件®使用designMultirateFIR
函数。
的designMultirateFIR
函数自动设计抗混叠滤波器根据您指定的速度转换因子。输入到designMultirateFIR
函数插值因子和大量毁灭的因素。可选地,您可以提供half-polyphase的长度或宽度和阻带衰减过渡。设计一个杀害多人者,将插值因子设置为1。类似地,为了设计一个插入器,设置大量毁灭因素1。
在MATLAB中实现多重速率的过滤器,使用返回的系数designMultirateFIR
函数作为输入dsp.FIRDecimator
,dsp.FIRInterpolator
,dsp.FIRRateConverter
系统对象。
b = designMultirateFIR (1、4);firDecim = dsp.FIRDecimator (4 b)
firDecim = dsp。FIRDecimator属性:DecimationFactor: 4 NumeratorSource:“财产”分子:[0 1.9352 -2.2355 -5.2794 -5.0269 e-05 e-05 e-05 0 1.0256 e-04 e-04…]结构:直接形成的
此外,您可以设置SystemObject
国旗的designMultirateFIR
函数真正的
。功能设计和自动创建适当的速度转换对象。
firDecim = designMultirateFIR (1, 4, SystemObject = true)
firDecim = dsp。FIRDecimator属性:DecimationFactor: 4 NumeratorSource:“财产”分子:[0 1.9352 -2.2355 -5.2794 -5.0269 e-05 e-05 e-05 0 1.0256 e-04 e-04…]结构:直接形成的
在仿真金宝app软件中,计算这些系数使用designMultirateFIR
功能在默认汽车模式的冷杉大量毁灭,冷杉插值,冷杉率转换块。您还可以指定这些系数作为参数或他们穿过一个输入端口。
这些例子展示了如何实现一个在MATLAB和Simulink冷杉杀害多人者。金宝app可以将此工作流应用到一个冷杉插入器和冷杉率转换器。
在MATLAB中实现冷杉杀害多人者
实现一个冷杉杀害多人者,你必须首先设计使用designMultirateFIR
函数。指定感兴趣的大量毁灭因素(通常大于1)和一个插值系数等于1。您可以使用默认half-polyphase长度12和默认的阻带衰减的80分贝。另外,您还可以指定half-polyphase长度,过渡宽度,和阻带衰减值。
设计一个冷杉杀害多人者大量毁灭因子设置为3和half-polyphase长度设置为14。使用默认的80分贝的阻带衰减。
b = designMultirateFIR (1、3、14);
提供的系数向量b
作为输入dsp.FIRDecimator
系统对象™。
firDecim = dsp.FIRDecimator (3 b);fvtool (firDecim)
默认情况下,fvtool
函数显示了级响应。浏览过滤可视化工具栏看到相位响应,脉冲响应、群延迟和其他过滤分析信息。
过滤器的正弦波输入使用firDecim
对象。正弦波的频率在1000赫兹和3000赫兹。噪声是零均值的高斯白噪声的标准差1 e-5。摧毁的输出采样率作为输入的三分之一。初始化两个简介
对象,一个用于输入,另一个用于输出。
f1 = 1000;f2 = 3000;Fs = 8000;源= dsp.SineWave(频率= (f1、f2) SampleRate = Fs,…SamplesPerFrame = 1026);specanainput =简介(SampleRate = Fs,…PlotAsTwoSidedSpectrum = false,…方法=“韦尔奇”,…ShowLegend = true, YLimits = 40 [-120],…Title =“噪声输入信号”,…ChannelNames = {嘈杂的输入的});specanaoutput =简介(SampleRate = Fs / 3,…PlotAsTwoSidedSpectrum = false,…方法=“韦尔奇”,…ShowLegend = true, YLimits = 40 [-120],…Title =“过滤输出”,…ChannelNames = {“过滤输出”});
流的输入和过滤处理循环。
为Iter = 1:1000输入=(源(),2)总和;noisyInput =输入+ (10 ^ 5)* randn (1026 1);输出= firDecim (noisyInput);specanainput (noisyInput) specanaoutput(输出)结束
输入有两个高峰:一个1000 Hz,另一个在3000赫兹。滤波器具有低通滤波器的通带频率响应 rad /样品。采样率为8000 Hz,值是一个通带频率1200赫兹。在1000赫兹的基调是非衰减的因为它落在滤波器的通带。在3000赫兹的基调是过滤掉。
类似地,您可以设计一个冷杉插入器和冷杉率转换器通过提供适当的输入designMultirateFIR
函数。实现过滤器,通过设计系数的dsp.FIRInterpolator
和dsp.FIRRateConverter
对象。
在仿真软件实现一个冷杉杀害多人者金宝app
你可以设计和实现的冷杉多重速率的过滤器模型™使用冷杉大批杀害,冷杉插值,冷杉率转换模块。金宝app
打开模型“multiratefiltering.slx”
。
输入信号是一个嘈杂的正弦信号,两个频率:一个1000 Hz,另一个在3000赫兹。信号的采样率是8000赫兹样品每帧正弦波模块的参数设置为1026。噪声的信号是一个零均值和方差的高斯白噪声1平台以及。
的系数来源冷杉大批杀害块的参数设置对话框参数,冷杉滤波器系数参数设置为designMultirateFIR (1、2)
。的函数使用默认half-polyphase长度12和默认的阻带衰减的80分贝。级响应的滤波器设计看起来如下:
运行模型。
第一个频谱分析仪显示了原始信号的频谱,而第二个频谱分析仪显示摧毁的光谱信号。因为率的选择参数设置为冷杉大量毁灭的块允许多重速率的处理
,信号的帧大小是相同的输入和输出的冷杉大量毁灭,而采样率的变化。这种模式的更多细节,请参阅率的帧频转换的调整。
采样率转换
采样率转换的转换是一个过程的采样率信号的采样率采样率。多级过滤器减少的数量计算参与采样率转换。执行高效的多级速度转换,使用dsp.SampleRateConverter
对象:
接受输入采样率和输出采样率作为输入。
分区的设计问题转化为优化阶段。
设计不同阶段所需的所有过滤器。
实现了设计。
混叠的设计确保不发生在中间步骤。
在这个例子中,改变一个嘈杂的正弦波信号的采样率从输入192千赫至44.1千赫的输出率。
初始化一个采样率转换器对象。
SRC = dsp.SampleRateConverter;
显示过滤信息。
信息(SRC)
ans = '整体插值系数:147整体力量的因素:640数量的过滤器:3次乘法/输入样本:27.667188的系数:8631过滤器:过滤器1:dsp。FIRDecimator——大量毁灭因素:2过滤器2:dsp。FIRDecimator——大量毁灭因素:2过滤器3:dsp。FIRRateConverter -插值因素:147 -大量毁灭因素:160
SRC三级过滤:两个冷杉杀害多人者随后冷杉率转换器。
初始化正弦波来源。正弦波有两个色调:一个在2000赫兹,另在5000赫兹。
源= dsp。SineWave(频率= (2000 5000),SampleRate = 192000,…SamplesPerFrame = 1280);
初始化两个频谱分析仪,一个输入信号的频谱和其他的光谱转换后的输出信号。的“PlotAsTwoSidedSpectrum”
财产的简介
对象设置为“假”
所示的光谱,表明在区间[0是片面的Fs/ 2)Fs信号的采样率。
傅氏国际= SRC.InputSampleRate;Fsout = SRC.OutputSampleRate;specanainput =简介(SampleRate =国际,…PlotAsTwoSidedSpectrum = false,…方法=“韦尔奇”,…ShowLegend = true, YLimits = 50 [-120],…Title =输入信号的,…ChannelNames = {“输入”});specanaoutput =简介(SampleRate = Fsout,…PlotAsTwoSidedSpectrum = false,…方法=“韦尔奇”,…ShowLegend = true, YLimits = 50 [-120],…Title =率转换输出的,…ChannelNames = {率转换输出的});
流输入信号和信号的采样率转换使用采样率转换器。查看输入和输出信号的光谱的两个频谱分析仪。
频谱分析仪显示频谱范围在[0Fs/ 2)。显示输入的频谱分析仪,Fs/ 2是192000/2。频谱分析仪显示输出,Fs/ 2是44100/2。因此,信号的采样率变化从192千赫至44.1千赫。
为Iter输入= = 1:1(源(),2)总和;noisyinput =输入+ (10 ^ 5)* randn (1280 1);输出= SRC (noisyinput);specanainput (noisyinput);specanaoutput(输出);结束
引用
[1]哈里斯,弗雷德。多重速率的通信系统的信号处理。普伦蒂斯霍尔PTR, 2004年。