www.pudn.com > KayforQPSK1.rar > KayforQPSK1.m


clc; 
clear all; 
 
Symbol = 4096;%%有关 
Fs = 16e6;%%无关 
Fc = 2.5e6;%%无关 
Rs = 1e6;%%有关 
a = 0.35; 
T = 4; 
SNR = 20; 
Mk = Fs/Rs;%%无关 
 
FIR = rcosfir(a ,[-T,T] ,Mk ,1 ,'sqrt'); 
Code = randint(1,Symbol,[0 1])*2-1 + j*(randint(1,Symbol,[0 1])*2-1); 
 
noise = randn(1,Symbol*Mk)*(10^(-SNR/20)); 
Data = conv(upsample(Code,Mk),FIR); 
 
% plot(real(Data)); 
QPSK = Data((1:Symbol*Mk)+T*Mk).*exp(j*2*pi*Fc/Fs*(1:Symbol*Mk));% + noise; 
 
% figure(1) 
% plot(10*log10(abs(fft(real(QPSK))))); 
 
% h = zeros(1,101); 
% fh = 0.2663; 
% fl = 0.151; 
% h = sin(fh*pi*((1:101)-50.01))/pi./((1:101)-50.01).*(0.54+0.46*cos(2*pi*((1:101)-50.01)/101))... 
%     -sin(fl*pi*((1:101)-50.01))/pi./((1:101)-50.01).*(0.54+0.46*cos(2*pi*((1:101)-50.01)/101)); 
% QPSK1 = conv(QPSK,h); 
% QPSK = QPSK1((1:Symbol*Mk)+50); 
 
% figure(2) 
% plot(10*log10(abs(fft(real(QPSK))))); 
 
Fo = Fc; 
Baseband = QPSK.*exp(-j*2*pi*Fo/Fs*(1:Symbol*Mk)); 
Baseband1 = conv(Baseband,FIR); 
Baseband2 = Baseband1((1:Symbol*Mk)+T*Mk); 
% plot(real(Baseband2));