www.pudn.com > QPSK_a.rar > QPSK_a.m


clear all; 
 
%%%%%%%%%%%%%%%%%设置QPSK信号的参数%%%%%%%%%%%%%%%%%%%%% 
Symbol = 1024*16;%%码元个数 
Fs = 1e6;%364110;%采样率 
Fc = Fs/20;%信号载频 
Rs = Fs/41;%码元速率 
a = 0.4;%升余弦系数 
T = 3;%升余弦周期 
SNR = 4.3;%信噪比 
% noise = randn(1,Symbol*Fs/Rs)*(10^(-(SNR+6)/20)); 
%%%%%%%%%%%%%%%%%%生成QPSK信号%%%%%%%%%%%%%%%%%%%%%%%%%% 
iCode = (randint(1, Symbol, [0 1])*2-1); 
qCode = (randint(1, Symbol, [0 1])*2-1); 
% for j = 1:11; 
FIR = rcosfir(a ,[-T,T] ,(floor(Fs/Rs)) ,1 ,'sqrt');%0.1*(j-1) 
iBaseband = conv(upsample(iCode,Fs/Rs),FIR); 
qBaseband = conv(upsample(qCode,Fs/Rs),FIR); 
QPSK1 = zeros(1,Symbol*Fs/Rs); 
QPSK1 = iBaseband((T*(floor(Fs/Rs))+1):((Symbol+T)*(floor(Fs/Rs)))).*cos(2*pi*Fc/Fs*(1:Symbol*Fs/Rs))+ qBaseband((T*(floor(Fs/Rs))+1):((Symbol+T)*(floor(Fs/Rs)))).*sin(2*pi*Fc/Fs*(1:Symbol*Fs/Rs));%+ noise; 
%%%%%%%%%%%%%%%%%%%%%%%信号做5倍抽取%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
QPSK = zeros(1,Symbol*8); 
QPSK2 = zeros(1,Symbol*8); 
for i = 1:Symbol*8; 
    QPSK(i) = QPSK1(5*i)*2; 
end 
 
plot(10*log(abs(fft(QPSK(1:Symbol).^1)))); 
 
% fid1 = fopen('QPSK_8.dat','wb'); 
% n = fwrite(fid1,QPSK,'float'); 
% fclose(fid1); 
 
% fid2 = fopen('QPSK_41.dat','w'); 
% m = fwrite(fid2,QPSK1,'float'); 
% fclose(fid2); 
% fid2 = fopen('QPSK_8.dat','r'); 
% QPSK2 = fread(fid2,Symbol*8,'float'); 
% plot(10*log(abs(fft(QPSK2.^2)))); 
% fclose(fid2);