?? bpskmdm.m
字號:
clear;
clc;
Fb=1;%碼元速率
Tb=1/Fb;
I_shaping=16;%碼元成型濾波時的上采樣倍數
Fs_shaping=I_shaping*Fb;%碼元成型濾波時的采樣率
Ts_shaping=1/Fs_shaping;
%平方根升余弦濾波器沖擊響應h_rrc
alpha=0.5;
h_rrc=rcosine(Fb,Fs_shaping,'fir/sqrt',alpha,4);%取8個Tb長度
h_rrc=h_rrc(I_shaping/2+1:end-I_shaping/2);%截取中間7個Tb
h_rrc=h_rrc/sum(h_rrc);
%待發送碼元
transmit_data=[0,0,1,0,0,1,0,0,1,0,1,1,0,0,1,1,1,1,0,1,0,1,0,1,0,0,1,0,1,1,0,0,1,0,1,0,1,1,1,0,0,1,0,0,0,0,0,1,1,0,0,1,1,0,0,0,1,0,0,0,1,0,1,0,0,0,1,0,0,1,0,0,1,1,1,0,1,1,0,0,1,0,1,1,1,1,1,0,0,0,0,1,1,1,0,0,1,0,1,1];
N=length(transmit_data);%數據長度
%轉換成雙極性碼(double polar)
for i=1:N;
if transmit_data(i)==0;
transmit_data(i)=-1;
end
end
data_I=transmit_data;%I路碼元
data_Q=zeros(1,N); %Q路碼元
data_I_upsampled=upsample(data_I,I_shaping);
data_Q_upsampled=upsample(data_Q,I_shaping);
Baseband_I=convn(data_I_upsampled,h_rrc);
Baseband_I=Baseband_I/max(Baseband_I);
Baseband_Q=convn(data_Q_upsampled,h_rrc);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%圖
figure;
subplot(211);
plot(Baseband_I);
title('I路基帶信號');
subplot(212);
plot(Baseband_Q);
title('Q路基帶信號');
%載波調制
Fc=1*Fb;%載波頻率
Q=16;%一個周期余弦波的采樣點個數
Fs_modulate=Q*Fc;%調制時的采樣率
Ts_modulate=1/Fs_modulate;
I_modulate=Fs_modulate/Fs_shaping;%調制時的上采樣倍數
%將I、Q兩路基帶信號上采樣至調制載波的采樣率
Baseband_I_upsampled=upsample(Baseband_I,I_modulate);
Baseband_Q_upsampled=upsample(Baseband_Q,I_modulate);
%內插濾波器
Baseband_I_upsampled_low=Baseband_I_upsampled;
Baseband_Q_upsampled_low=Baseband_Q_upsampled;
% h_low=fir1(50,0.01,'low');%低通濾波器
% Baseband_I_upsampled_low=convn(Baseband_I_upsampled,h_low,'same');
% Baseband_Q_upsampled_low=convn(Baseband_Q_upsampled,h_low,'same');
%
% %圖
% figure;
% subplot(211);
% plot(Baseband_I_upsampled_low);
% title('I路內插濾波后');
% subplot(212);
% plot(Baseband_Q_upsampled_low);
% title('Q路內插濾波后');
%正交調制
n=0:length(Baseband_I_upsampled_low)-1;
u=Baseband_I_upsampled_low.*cos(2*pi*Fc*n*Ts_modulate);
v=Baseband_Q_upsampled_low.*sin(2*pi*Fc*n*Ts_modulate);
S=u-v;%正交調制,此處為減
%圖
figure;
plot(S);
title('已調信號');
%接收端
h_low=fir1(19,0.01,'low');%低通濾波器
%正交下變頻
n=0:length(S)-1;
product_I=S.*cos(2*pi*Fc*n*Ts_modulate);
product_Q=S.*(-sin(2*pi*Fc*n*Ts_modulate));
%低通
X_I=convn(product_I,h_low,'same');
X_Q=convn(product_Q,h_low,'same');
figure;
subplot(211);
plot(X_I);
subplot(212);
plot(X_Q);
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -