二阶rc无源低通滤波器的MATLAB仿真程序(包括幅频响应和相频响应)
时间: 2023-09-10 11:08:13 浏览: 757
以下是二阶RC无源低通滤波器的MATLAB仿真程序,包括幅频响应和相频响应:
```matlab
% 输入信号
t = 0:0.001:1;
f = 10; % 信号频率
x = sin(2*pi*f*t);
% 电路参数
R1 = 1e3;
R2 = 1e3;
C1 = 1e-6;
C2 = 1e-6;
% 计算幅频响应和相频响应
w = logspace(-1, 5, 1000);
H = abs((1./(1+1j*w*R1*C1)).*(1./(1+1j*w*R2*C2)));
phi = angle((1./(1+1j*w*R1*C1)).*(1./(1+1j*w*R2*C2)));
% 绘制幅频响应和相频响应曲线
subplot(2,1,1);
semilogx(w, 20*log10(H));
title('幅频响应');
xlabel('频率(Hz)');
ylabel('增益(dB)');
grid on;
subplot(2,1,2);
semilogx(w, phi*180/pi);
title('相频响应');
xlabel('频率(Hz)');
ylabel('相位(度)');
grid on;
% 绘制输入信号和输出信号波形
y = zeros(1, length(x));
for i = 3:length(x)
y(i) = (1/(1+R1*C1*1j*w(i)))*(y(i-1)-y(i-2)) + x(i)/(1+R1*C1*1j*w(i));
end
figure;
subplot(2,1,1);
plot(t, x);
title('输入信号波形');
xlabel('时间(s)');
ylabel('幅值');
grid on;
subplot(2,1,2);
plot(t, y);
title('输出信号波形');
xlabel('时间(s)');
ylabel('幅值');
grid on;
```
运行该程序,将会得到一幅幅频响应曲线和相频响应曲线,以及一幅输入信号和输出信号波形的图像。可以通过调整电路参数和输入信号的频率等参数,来观察滤波器的滤波效果。
阅读全文