qpsk频谱图matlab,QPSK调制得出的调制信号频谱波形多了一个点频信号
clc;
clear all;
%假定接收端已經(jīng)實(shí)現(xiàn)載波同步,位同步(盲信號(hào)解調(diào)重點(diǎn)要解決的問(wèn)題:載波同步(costas環(huán)(未見(jiàn)到相關(guān)代碼)),位同步(Gardner算法(未見(jiàn)相關(guān)代碼)),幀同步)
%carrier frequency??for modulation and demodulation
fc=2.5e6;
f_code=2.4e6;
fs=24e6;
%QPSK transmitter
data=2500??;? ?? ?? ?? ?? ? %原碼個(gè)數(shù)
rand_data=round(rand(1,2500));? ? %產(chǎn)生5000個(gè)隨機(jī)數(shù) 均值為0??方差為1
%seriel to parallel? ?? ???%同時(shí)單極性碼轉(zhuǎn)為雙極性碼
for??i=1:data
if rem(i,2)==1? ? %如果i是奇數(shù)
if??rand_data(i)==1? ?%如果第i個(gè)數(shù)據(jù)為1
I(i)=1;
I(i+1)=1;
else
I(i)=-1;
I(i+1)=-1;
end
else
if rand_data(i)==1
Q(i-1)=1;
Q(i)=1;
else
Q(i-1)=-1;
Q(i)=-1;
end
end
end
%zero insertion? ?,此過(guò)程稱為成形。成形的意思就是實(shí)現(xiàn)由消息到波形的轉(zhuǎn)換,以便發(fā)射,脈沖成形應(yīng)該是在基帶調(diào)制之后。
zero=fs/f_code;? ?? ?? ?%明白了,zero為過(guò)采樣率。它等于 采樣率fs/碼速率。采樣率為24MHZ
for??i=1:zero*data? ???% 采樣點(diǎn)數(shù)目=過(guò)采樣率*原碼數(shù)目
if rem(i,zero)==1
Izero(i)=I(fix((i-1)/zero)+1);
Qzero(i)=Q(fix((i-1)/zero)+1);
else
Izero(i)=0;
Qzero(i)=0;
end
end
%pulse shape filter, 接著,將進(jìn)行低通濾波,因?yàn)?隨著傳輸速率的增大,基帶脈沖的頻譜將變寬
%如果不濾波(如升余弦濾波)進(jìn)行低通濾波,后面加載頻的時(shí)候可能會(huì)出現(xiàn)困難。
%平方根升余弦濾波器
%psf=rcosfir(rf,n_t,rate,fs,'sqrt')? ?%rate:過(guò)采樣率,rf:滾降因子,n_t:濾波器階數(shù),fs:采樣率
%用在調(diào)制或發(fā)送之前,用在解調(diào)或接受之后,用來(lái)降低過(guò)采樣符號(hào)流帶寬并不引發(fā)ISI(碼間串?dāng)_)
NT=25;
N=2*zero*NT;? ? % =500
rf=0.25;
psf=rcosfir(rf,NT,zero,fs,'sqrt');% psf大小為500
Ipulse=conv(Izero,psf);
Qpulse=conv(Qzero,psf);
% 為什么數(shù)字信號(hào)傳輸也要過(guò)采樣,成形濾波?
% 答:過(guò)采樣的數(shù)字信號(hào)處理起來(lái)對(duì)低通濾波器的要求相對(duì)較低,如果不過(guò)采樣,濾波的時(shí)候?yàn)V波器需要很陡峭,指標(biāo)會(huì)很嚴(yán)格
% 成形濾波的作用是保證采樣點(diǎn)不失真。如果沒(méi)有它,那信號(hào)在經(jīng)過(guò)帶限信道后,眼圖張不開,ISI非常嚴(yán)重。成形濾波的位置在基帶調(diào)制之后。
% 因?yàn)榻?jīng)成形濾波后,信號(hào)的信息已經(jīng)有所損失,這也是為避免ISI付出的代價(jià)。換句話說(shuō),成形濾波的位置在載波調(diào)制之前,僅挨著載波調(diào)制。
% 即:(發(fā)送端)插值(采樣)-成形-濾波(LPF)-加載頻(載波調(diào)制)-加噪聲至(接收端)乘本振-低通-定時(shí)抽取-判決。
%modulation
for i=1:zero*data+N? ?%采樣點(diǎn)數(shù)目改變 (因?yàn)榫矸e的緣故)
t(i)=(i-1)/(fs);??%這里因?yàn)榧僭O(shè)載頻與碼速率大小相等,所以用載頻fc乘以過(guò)采樣率=采樣率。
Imod(i)=Ipulse(i)*sqrt(2)*cos(2*pi*fc*t(i));
Qmod(i)=Qpulse(i)*(-sqrt(2)*sin(2*pi*fc*t(i)));
end
sum=(Imod+Qmod);
figure(1)
SUM=abs(fftshift(fft(sum)))
f=linspace(-fs/2,fs/2,length(sum))
plot(f,10*log(SUM/max(SUM)))? ?? ?? ?? ?? ???%產(chǎn)生QPSK信號(hào)
sum4=sum.^4;? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?%進(jìn)行4次方并計(jì)算頻譜
SUM4=abs(fftshift(fft(sum4)))
figure(2)
plot(f,10*log(SUM4/max(SUM4)))
總結(jié)
以上是生活随笔為你收集整理的qpsk频谱图matlab,QPSK调制得出的调制信号频谱波形多了一个点频信号的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: (JAVA)超大整数运算
- 下一篇: matlab人脸追踪,求大神帮助我这个菜