主要内容

使用rckt对象的带通滤波器响应

下面的例子展示了如何计算一个简单带通滤波器的时域响应:

  1. 使用经典图像参数设计方法选择电感和电容值。

  2. 使用rfckt.seriesrlcrfckt.shuntrlc,rfckt.cascade对象以编程方式将巴特沃斯电路构造为2端口网络。

  3. 使用分析在宽频率范围内提取2端口网络的s参数。

  4. 使用s2tf函数来计算从输入到输出的电压传递函数。

  5. 使用rationalfit函数来生成合理的拟合,以非常高的精度捕获理想的RC电路。

  6. 创建有噪声的输入电压波形。

  7. 使用timeresp函数计算噪声输入电压波形的瞬态响应。

根据图像参数设计带通滤波器

图像参数设计方法是一种分析计算无源滤波器中串联分量和并联分量值的框架。有关此方法的更多信息,请参阅Cotter W. Sayre, McGraw-Hill 2008年第331页的“完整无线设计”。

图1:由两个半部分组成的巴特沃斯带通滤波器。

下面的MATLAB®代码生成带通滤波器的组件值,其低3 dB截止频率为2.4 GHz,高3 dB截止频率为2.5 GHz。

Ro = 50;f1C = 2400e6;f2C = 2500e6;Ls = (Ro / (pi*(f2C - f1C)))/2;Cs = 2*(f2C - f1C)/(4*pi*Ro*f2C*f1C);Lp = 2*Ro*(f2C - f1C)/(4*pi*f2C*f1C);Cp = (1/(pi*Ro*(f2C - f1C)))/2;

编程构造电路为2端口网络

属性选择适当的值,从而形成L和C构造块rfckt.shuntrlc对象(如图2所示)或rfckt.seriesrlc对象,如图3所示。然后将这些构件连接在一起rfckt.cascade如图4所示。

图2:创建的2端口网络rfckt.shuntrlc对象

图3:创建的2端口网络rfckt.seriesrlc对象

图4:连接2端口网络rfckt.cascade对象

se1 = rckt .seriesrlc(“L”Ls,“C”, Cs);Seg2 = rckt .shuntrlc(“L”Lp,“C”, Cp);se3 = rckt .shuntrlc(“L”Lp,“C”, Cp);Seg4 = rckt .seriesrlc(“L”Ls,“C”, Cs);cktBPF = rckt .cascade(“电路”, {Seg1、Seg2 Seg3, Seg4});

从2端口网络中提取s参数

分析函数在指定的频率向量上从电路中提取s参数。本例提供了一组跨越滤波器通带的频率,并使用默认的50欧姆参考、源阻抗和负载阻抗进行分析。接下来,s2tf函数计算电路s参数模型上的电压传递函数。最后,我们生成一个高精度有理近似使用rationalfit函数。得到的近似使网络与机器精度相匹配。

Freq = linspace(2e9,3e9,101);分析(cktBPF、频率);sparams = cktBPF.AnalyzedResult.S_Parameters;Tf = s2tf(sparams);Fit = rationalfit(freq,tf);

验证有理拟合趋于零

使用freqresp函数验证有理拟合近似在拟合频率范围两侧外具有合理的行为。

widerFreqs = linspace(2e8,5e9,1001);resp = freqresp(fit,widerFreqs);图semilogy(频率、abs (tf)、widerFreqs、abs(职责)“——”“线宽”(2)包含的频率(赫兹)) ylabel (“级”)传说(“数据”“健康”)标题(“理性拟合在拟合频率范围外表现良好。”

图中包含一个轴对象。有理拟合在拟合频率范围外表现良好。包含2个line类型的对象。这些对象表示数据,适合。

构造输入信号测试带通滤波器

该带通滤波器应该能够恢复2.45 GHz的正弦信号,该信号由于包含零均值随机噪声和2.35 GHz的阻挡器而产生噪声。下面的MATLAB代码从4096个样本中构建了这样一个信号。

fCenter = 2.45e9;fBlocker = 2.35e9;周期= 1/fCenter;sampleTime =周期/16;signalLen = 8192;t = (0:signalLen-1)'*sampleTime;% 256个周期input = sin(2*pi*fCenter*t);干净输入信号%rng (“默认”)噪声= randn(size(t)) + sin(2*pi*fBlocker*t);noisyInput =输入+噪音;输入信号噪声

计算输入信号的瞬态响应

timeresp函数计算由有理拟合和输入信号定义的状态空间方程的解析解。

output = timeresp(fit,noisyInput,sampleTime);

在时域中查看输入信号和滤波器响应

在图形窗口中绘制输入信号、噪声输入信号和带通滤波器输出。

Xmax = t(end)/8;图subplot(3,1,1) plot(t,input)轴([0 xmax -1.5 1.5]) title(“输入”) subplot(3,1,2) plot(t,noisyInput) axis([0 xmax floor(min(noisyInput)) ceil(max(noisyInput))])标题(嘈杂的输入的) ylabel (的振幅(伏)) subplot(3,1,3) plot(t,output)轴([0 xmax -1.5 1.5])滤波器输出的)包含(的时间(秒)

图中包含3个轴对象。带有标题Input的Axes对象1包含一个line类型的对象。标题为嘈杂输入的Axes对象2包含一个类型为line的对象。带有标题Filter Output的Axes对象3包含一个line类型的对象。

在频域查看输入信号和滤波器响应

在频域叠加噪声输入和滤波响应解释了为什么滤波操作是成功的。在2.35 GHz的阻断信号和大部分噪声都显著减弱。

NFFT = 2^nextpow2(signalLen);y长度的下一个2次方Y = fft(noisyInput,NFFT)/signalLen;samplingFreq = 1/sampleTime;f = samplingFreq/2*linspace(0,1,NFFT/2+1)';O = fft(输出,NFFT)/信号;图subplot(2,1,1) plot(freq,abs(tf),“b”“线宽”,2)轴([频率(1)频率(端)0 1.1])滤波传递函数) ylabel (“级”) subplot(2,1,2) plot(f,2*abs(Y(1:NFFT/2+1))‘g’f 2 * abs (O (1: NFFT / 2 + 1)),“r”“线宽”,2)轴([频率(1)频率(端)0 1.1])“输入+噪声”“输出”)标题(滤波特性和噪声输入频谱)包含(的频率(赫兹)) ylabel (的大小(伏)

图中包含2个轴对象。Axes对象1包含一个line类型的对象。该对象表示滤波器传递函数。轴对象2标题滤波器特性和噪声输入频谱。包含2个line类型的对象。这些对象代表输入+噪声,输出。

相关的话题

Baidu
map