📄 drfmphsb.m
字号:
% Program Plots Output Spectrum of DRFM
% Using Phase Quantization
% -------------------------------------
clear;clf;clc;
% Sample Input Signal
N=2048; % Samples
t=(1:N)/N;
fs=100; % Hz
j=sqrt(-1);
% Generate input signals
B=[1 5]; % Quantizing Bits
num=[1 5]; % Number Input Signals
for bb=1:2;
for nn=1:2;
z=exp(j*2*pi*fs*t);
for k=1:num(nn)-1;
zz=exp(j*2*pi*fs*(1+.2*k)*t);
z=z+zz;end;
% Quantize Input Signals Using Mid-Point Quantizer
M=2^(B(bb)-1);
for i=1:N;
ph(i)=atan2(imag(z(i)),real(z(i)));
qph(i)=(floor(M*((ph(i)/pi)-1e-6))+.5)/M;
if ph(i)<0;qph(i)=(floor(M*((ph(i)/pi)+1e-6))+.5)/M;end;
end;
m=nn+2*(bb-1);
w(m,:)=cos(pi*qph)+j*sin(pi*qph);
% Find Spectrum
X=fft(w(m,:),N);
X=fftshift(X);
Pxx=X.*conj(X);
Pxx=Pxx/max(Pxx);
Pz=10*log10(Pxx+1e-6);
P(:,m)=Pz';
end;
end;
% Plot DRFM Spectrum
f=(-N/2:N/2-1);
subplot(221);
plot(f,P(:,1));grid;
title(['DRFM Spectrum (Bits=',num2str(B(1)),',Sig=',num2str(num(1)), ')']);
axis([-500 500 -40 0]);
xlabel('Frequency - Hz');
ylabel('Amplitude - dB');
subplot(223);
plot(f,P(:,2));grid;
axis([-500 500 -40 0]);
xlabel('Frequency - Hz');
ylabel('Amplitude - dB');
title(['DRFM Spectrum (Bits=',num2str(B(1)),',Sig=',num2str(num(2)),')']);
subplot(222);
plot(f,P(:,3));grid;
axis([-500 500 -40 0]);
xlabel('Frequency - Hz');
ylabel('Amplitude - dB');
title(['DRFM Spectrum (Bits=',num2str(B(2)),',Sig=',num2str(num(1)),')']);
subplot(224);
plot(f,P(:,4));grid;
axis([-500 500 -40 0]);
xlabel('Frequency - Hz');
ylabel('Amplitude - dB');
title(['DRFM Spectrum (Bits=',num2str(B(2)),',Sig=',num2str(num(2)),')']);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -