フィルターのクリア

Need help to plot frequency axis should be linear and cover the range 10 to 110 Hz in 1 Hz steps. Your vertical axis should cover from 0 to -40 dB

3 ビュー (過去 30 日間)
% File name: ee310 project.m
clear all;
close all;
%Specify components.
Rs=1000;
C1=11.65e-6;
C2=250.1e-9;
C3=28.13e-6;
C4=603.9e-9;
L1=0.6039;
L2=28.13;
L3=0.2501;
L4=11.65;
Rl=1000;
StartFreq= 10; %lowest frequency to plot
NumDec= 11; %number of decades to plot
PtsPerDec= 10; %number of frequency points plotted per decade.
%Pre-allocate results matricies.
MagResp = zeros(NumDec*PtsPerDec,1); %matrix containing magnitude response.
Freq = zeros(NumDec*PtsPerDec,1); %matrix containing plot frequencies.
%Compute frequency response at frequency points uniformly-spaced on a log plot.
for i=1 : NumDec*PtsPerDec
Freq(i) = StartFreq+i; %Evaluate at this frequency.
s = 1j * 2*pi*Freq(i); %Determine complex frequency.
%Compute branch impedances at this frequency.
Z1 = (1/(s*C1)*(s*L1))/(1/(s*C1)+(s*L1));
Z2 = (1/(s*C2))+(s*L2);
Z3 = (1/(s*C3)*(s*L3))/(1/(s*C3)+(s*L3));
Z4 = (1/(s*C4))+(s*L4);
Vo = 1;
I1 = 1/Rl;
Va = 1 + I1*Z4;
I2 = Va/Z3;
I3 = I1 + I2;
Vb = Va + I3*Z2;
I4 = Vb/Z1;
I5 = I3 + I4;
Vin= Vb + I5 * Rs;
H = Vo/Vin;
MagResp(i) = abs(H); %Place magnitude response in result matrix.
end
%Plot magnitude.
HMag = plot(Freq,20*log10(MagResp),'color','k','linewidth',2); %Plot magnitude.
set(gca,'FontSize',12);
xlabel('Freq(Hz)');
ylabel('Response(dB)');
% ylim([-50,10]);
grid on;

採用された回答

Voss
Voss 2022 年 12 月 3 日
% File name: ee310 project.m
clear all;
close all;
%Specify components.
Rs=1000;
C1=11.65e-6;
C2=250.1e-9;
C3=28.13e-6;
C4=603.9e-9;
L1=0.6039;
L2=28.13;
L3=0.2501;
L4=11.65;
Rl=1000;
StartFreq= 10; %lowest frequency to plot
NumDec= 11; %number of decades to plot
PtsPerDec= 10; %number of frequency points plotted per decade.
%Pre-allocate results matricies.
MagResp = zeros(NumDec*PtsPerDec,1); %matrix containing magnitude response.
Freq = zeros(NumDec*PtsPerDec,1); %matrix containing plot frequencies.
%Compute frequency response at frequency points uniformly-spaced on a log plot.
for i=1 : NumDec*PtsPerDec
Freq(i) = StartFreq+i; %Evaluate at this frequency.
s = 1j * 2*pi*Freq(i); %Determine complex frequency.
%Compute branch impedances at this frequency.
Z1 = (1/(s*C1)*(s*L1))/(1/(s*C1)+(s*L1));
Z2 = (1/(s*C2))+(s*L2);
Z3 = (1/(s*C3)*(s*L3))/(1/(s*C3)+(s*L3));
Z4 = (1/(s*C4))+(s*L4);
Vo = 1;
I1 = 1/Rl;
Va = 1 + I1*Z4;
I2 = Va/Z3;
I3 = I1 + I2;
Vb = Va + I3*Z2;
I4 = Vb/Z1;
I5 = I3 + I4;
Vin= Vb + I5 * Rs;
H = Vo/Vin;
MagResp(i) = abs(H); %Place magnitude response in result matrix.
end
%Plot magnitude.
HMag = plot(Freq,20*log10(MagResp),'color','k','linewidth',2); %Plot magnitude.
set(gca,'FontSize',12);
xlabel('Freq(Hz)');
ylabel('Response(dB)');
xlim([10 110])
ylim([-40 0])
grid on;

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeSpectral Measurements についてさらに検索

製品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by