필터 지우기
필터 지우기

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 CenterFile Exchange에서 Spectral Measurements에 대해 자세히 알아보기

제품

Community Treasure Hunt

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

Start Hunting!

Translated by