主要内容

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

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

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

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

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

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

  5. 使用rationalfit函数,以产生合理的适合,捕获理想的RC电路到一个非常高的精度。

  6. 产生有噪声的输入电压波形。

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

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

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

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

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

Ro = 50;f1C = 2400 e6;f2C = 2500 e6;l = (pi*(f2C - f1C)) /2;c = 2*(f2C - f1C)/(4*pi*Ro*f2C*f1C);(4*pi*f2C*f1C) /(4*pi*f2C*f1C);Cp = (1/(pi*Ro*(f2C - f1C)) /2);

以编程方式构建2端口网络电路

通过选择合适的值来形成L和C构建块rfckt.shuntrlc对象或rfckt.seriesrlc对象,如图3所示。然后这些构建块被连接在一起rfckt.cascade如图4所示。

图2:2端口网络由rfckt.shuntrlc对象

图3:2端口网络由rfckt.seriesrlc对象

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

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

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

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

频率= linspace (2 e9 3 e9,101);分析(cktBPF、频率);sparams = cktBPF.AnalyzedResult.S_Parameters;tf = s2tf (sparams);适合= rationalfit(频率、tf);

验证Rational Fit趋于零

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

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

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

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

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

fCenter = 2.45 e9;fBlocker = 2.35 e9;时间= 1 / fCenter;sampleTime = / 16时期;signalLen = 8192;t = (0: signalLen-1) * sampleTime;% 256期输入=罪(2 *π* fCenter * t);干净输入信号rng (“默认”) noise = randn(size(t)) + sin(2*pi*fBlocker*t);noisyInput =输入+噪声;输入信号噪声百分比

计算输入信号的瞬态响应

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

输出= timeresp(健康,noisyInput sampleTime);

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

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

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

图中包含3个轴。标题为Input的轴1包含一个类型为line的对象。标题为noise Input的轴2包含一个类型为line的对象。带有标题过滤器输出的轴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) / signalLen;图次要情节(2,1,1)情节(频率、abs (tf),“b”“线宽”,2)坐标轴([freq(1) freq(end) 0 1.1])滤波器传递函数的) ylabel (“级”次要情节(2,1,2)情节(f, 2 * abs (Y (1: NFFT / 2 + 1)),‘g’f 2 * abs (O (1: NFFT / 2 + 1)),“r”“线宽”,2)坐标轴([freq(1) freq(end) 0 1.1])“输入+噪声”“输出”)标题(滤波特性和噪声输入频谱)包含(的频率(赫兹)) ylabel (的大小(伏)

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

相关的话题