MATLAB - lsim()函数没有为我的RC传递函数提供适当的衰减

时间:2018-01-17 23:17:08

标签: matlab filtering transfer-function

我正在尝试对RC滤波器的传递函数进行建模,以便了解输入信号到达样本时的变形情况。我首先构建RC滤波器的传递函数以适合我的实验数据但是当我向lsim()函数提供输入信号时,即使对于正弦也没有给出正确的结果。

这是我的代码:

R = 1000000; L = 1; C = 2.5*10^(-12);
G=tf([1], [R*C, 1]);
figure(1)
h=bodeplot(G,'b.-', opts);

f=10^(5);%signal frequency, Hz
tau=1/f;%Signal period, s
Tf=10*tau;%Signal duration
N=100000;%number of samples per period
Ts=tau/N;%Sampling time
figure(2);
[input_vector,t_vector]=gensig('sin',tau,Tf,Ts);
lsim(G,input_vector,t_vector);

对于100kHz的正弦波,我应该得到-0.25dB的衰减,因此电压约为2%。在这里它得到的结果比我的输入信号低45%。

2 个答案:

答案 0 :(得分:0)

一定是你对某些细节的直觉。通过运行代码,我得到了预期的正确结果。

enter image description here

答案 1 :(得分:0)

问题来自于从rad / s到Hz的转换,它引入了一个2 * pi因子,将衰减曲线向左移动。