📄 twtserro.m
字号:
% TWT Serrodyning With Offset
% ---------------------------------
clf;clc;clear;
% Set Input Parameters
r=.02; % Ratio T2/T1+T2
N=128; % Sample Points
% Define time vector 0 to tmax
T2=r/(1-r);
tmax=1+T2;
t=tmax*(0:N-1)/N;
% Sample frequency fs
fs=N/tmax;
% Define ramp z which runs from
% 0 to T1=1 with amplitude 1 and
% flyback from t=1 to t=1+T2
for k=1:N;
if t(k)<=1;z(k)=t(k);
else z(k)=1-(t(k)-1)/T2;end;
end;
% Plot Serrodyne Waveform
t1=tmax*(0:N)/N;
zz=z;
zz(N+1)=0;
subplot(211);
plot(t1,zz);grid;
xlabel('Time - sec');
ylabel('Amplitude');
title(['Serrodyne Waveform']);
% Define Phase Modulated Signal
j=sqrt(-1);
fo=0;
x=exp(j*2*pi*(fo*t+z));
% Find x for M steps
M=64;A=[];
for m=1:M;
A=[A x];end;
x=A;
% Extend for t vector
N=N*M;
t=tmax*(0:N-1)/N;
% Spectrum for x(t)
X=fft(x);
Px=X.*conj(X);
Px=fftshift(Px);
% Select central frequency axis
Px(3*N/4+1:N)=[];
Px(1:N/4)=[];
fax=fs*(-N/4:N/4-1)/N;
% Normalize amplitude
Px=Px/max(Px);
Pxdbm=10*log10(Px+1e-6);
subplot(212);
plot(fax,Pxdbm);grid;
xlabel('Frequency - Hz');ylabel('Amplitude - db');
title(['TWT Serrodyne Spectrum' ...
' (Flyback Ratio =',num2str(r),')']);
axis([-30 30 -40 0]);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -