?? filer_qpsk3q.m
字號:
%升余弦濾波器+PSK調制,%已生成QPSK和OQPSK信號
function y=filer_QPSK3q(a,b)%
%生成隨機數
Rb=800000;%碼元速率819.2k
k=1; %一個碼元間隔包括1個載波周期
k2=8;
fc=k*Rb; % 載波頻率,
fs=fc*k2; % 信號采樣率
x_size=k*k2;
x_i=a;
x_q=b;
x_length=length(x_i(1,:));
channel=2;
for var=1:channel
%基帶濾波
filtout_I(var,:)= rcosflt(x_i(var,:),1,x_size,'fir',0.2);%利用現成的升余弦函數
filtout_Q(var,:)= rcosflt(x_q(var,:),1,x_size,'fir',0.2);
filtoutI(var,:)=filtout_I(var,2.5*x_size+1:x_length*x_size+2.5*x_size);
filtoutQ(var,:)=filtout_Q(var,2.5*x_size+1:x_length*x_size+2.5*x_size);
%將i路提前半個碼元,相當于將q路延遲半個碼元
filtoutforeI(var,:)=zeros(1,length(filtoutI(var,:)));
filtoutforeI(var,1:length(filtoutI)-x_size/2)=filtoutI(var,x_size/2+1:length(filtoutI));
%產生載波
carry_i(1:x_length*x_size)=cos(2*pi*fc*(1:x_length*x_size)/fs+pi/4);
carry_q(1:x_length*x_size)=sin(2*pi*fc*(1:x_length*x_size)/fs+pi/4);
%BPSK調制
s_q(var,:)=filtoutQ(var,:).*carry_q;
sfore_i(var,:)=filtoutforeI(var,:).*carry_i;
soqpsk(var,:)=sfore_i(var,:)+s_q(var,:);
end
y=sum(soqpsk);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% fft_filtoutI=abs(fft(filtoutQ));
% fft_soqpsk=abs(fft(soqpsk));
% n=size(soqpsk,2);%FFT后數據點數目,d = size(X)返回二維向量,分別為矩陣X行數和列數
% f=1:fs/n:fs;
% m=fc/fs*n*2; %此處m=fs/4=2fc
% %圖1,調制信號頻譜圖
% figure(1)
% subplot(2,1,1)
% plot(f(1,1:m),fft_soqpsk(1,1:m))
% title('調制信號頻譜')
% grid on
% subplot(2,1,2)
% plot(f(1,1:m),fft_filtoutI(1,1:m))
% title('基帶信號頻譜')
% grid on
%
%
% figure(2)
% subplot(3,1,1)
% plot(filtoutforeI(1:20*x_size))
% grid on
% title('I路碼元信號')
%
% subplot(3,1,2)
% plot(filtoutQ(1:20*x_size))
% title('Q路碼元信號')
% grid on
% subplot(3,1,3)
% plot(carry_i(1:20*x_size)) %顯示調制信號波形
% title('載波')
% grid on
%
% figure(4)
% subplot(3,1,1)
% plot(sfore_i(1:20*x_size)) %顯示基帶信號波形
% grid on
% title('I路BPSK調制信號')
% subplot(3,1,2)
% plot(s_q(1:20*x_size)) %顯示載波信號波形
% title('Q路BPSK調制信號')
% grid on
% subplot(3,1,3)
% plot(soqpsk(1:20*x_size)) %顯示調制信號波形
% title('OQPSK調制信號')
% grid on
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -