?? binarymod.m
字號:
%OOK,2PSK,
clear all;
close all;
A=1;
fc=2;
N_sample=8;%每個碼元的抽樣點數
N=500;%碼元數
Ts=1;
dt=Ts/fc/N_sample;%波形采樣間隔
t=0:dt:N*Ts-dt;
Lt=length(t);
%產生二進制信源
d=sign(randn(1,N));
dd=sigexpand((d+1)/2,fc*N_sample);
gt=ones(1,fc*N_sample);
figure(1)
subplot(221)
d_NRZ=conv(dd,gt);
plot(t,d_NRZ(1:length(t)));
axis([0 10 0 1.2]);
ylabel('輸入信號');
subplot(222);%輸入NRZ頻譜
[f,d_nRZf]=T2F(t,d_NRZ(1:length(t)));
plot(f,10*log10(abs(d_nRZf).^2/Ts));
axis([-2 2 -50 10]);
ylabel('輸入信號功率譜密度(dB/Hz)');
%OOK信號
ht=A*cos(2*pi*fc*t);
s_2ask=d_NRZ(1:Lt).*ht;
subplot(223)
plot(t,s_2ask);
axis([0 10 -1.2 1.2]);ylabel('OOK')
[f,s_2askf]=T2F(t,s_2ask);
subplot(224)
plot(f,10*log10(abs(s_2askf).^2/Ts));
axis([-fc-4 fc+4 -50 10])
ylabel('OOK功率譜密度')
figure(2)
%2PSK
d_2psk=2*d_NRZ-1;
s_2psk=d_2psk(1:Lt).*ht;
subplot(221)
plot(t,s_2psk);
axis([0 10 -1.2 1.2]);ylabel('2PSK')
subplot(222)
[f,s_2pskf]=T2F(t,s_2psk);
%plot(f,10*log10(abs(s_2pskf).^2/Ts));
plot(f,10*log10(abs(s_2pskf).^2/Ts));
axis([-fc-4 fc+4 -50 10])
ylabel('2PSK功率譜密度(dB/Hz)')
%2FSK
%s_2fsk=Acos(2*pi*fc*t+int(2*pi*sd_2fsk(1:length(t)).*t);
sd_2fsk=2*d_NRZ-1;
s_2fsk=A*cos(2*pi*fc*t+2*pi*sd_2fsk(1:length(t)).*t);
subplot(223)
plot(t,s_2fsk);
axis([0 10 -1.2 1.2]);
xlabel('t');ylabel('2FSK')
subplot(224)
[f,s_2fskf]=T2F(t,s_2fsk);
plot(f,10*log10(abs(s_2fskf).^2/Ts));
axis([-fc-4 fc+4 -50 10])
xlabel('f');ylabel('2FSK功率譜密度')
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -