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));