資源簡介
產生16QAM源代碼,產生iq兩路信號,用于中品和基帶信號處理

代碼片段和文件信息
%16QAM中頻調制
%升余弦窗成形,滾降系數0.35,符號率1MSybol/s中頻頻率21MHz
%給出各級濾波器的系數,時域/頻域響應以及信號經過各濾波器的時域/頻域圖
%*************************產生QAM基帶信號*************************%
%產生偽隨機序列PN
N=500;?%二進制數據長度,長度不足會造成星座點缺失
x=randint(1N2);?
%數據分組串并變換
x1=x(1:2);
x2=x(3:4);?%完成第一組轉換
for?i=1:(N/4-1)??%完成所有點的轉換??
????x1=[x1?(x(i*4+1:i*4+2))];
????x2=[x2?(x(i*4+3:i*4+4))];
end
%二-十進制轉換(00-001-110-211-3)
xi=x1(1)*2+x1(2);
xq=x2(1)*2+x2(2);?%完成第一組轉換
n=length(x1);
for?i=1:n/2-1????%完成所有點的轉換??
????xi=[xi?(x1(i*2+1)*2+x1(i*2+2))];
????xq=[xq?(x2(i*2+1)*2+x2(i*2+2))];
end
%信號映射
for?i=1:n/2
????switch(xi(i))
????????case?0
????????????xi(i)=-3;
????????case?1
????????????xi(i)=-1;
????????case?2
????????????xi(i)=1;
????????case?3
????????????xi(i)=3;
????end
????
????switch(xq(i))
????????case?0
????????????xq(i)=-3;
????????case?1
????????????xq(i)=-1;
????????case?2
????????????xq(i)=1;
????????case?3?
????????????xq(i)=3;
????end
end
%繪制基帶信號圖
figure(1);
plot(xixq‘*‘)title(‘16AQM基帶信號星座圖‘);
axis([-44-44]);
%***************************脈沖成形*************************************%
%升余弦窗,符號率1MSym/s,設采樣頻率Fs=4MHz
Fs=4000000;?%采樣頻率設為符號率4倍
t=1/Fs;?????%周期
R=0.35;?????%滾降系數0.35
N_T=7;??????%窗長,設置為標量7
RATE=4;?????%采樣率
p=rcosfir(RN_TRATEt‘sqrt‘);?%Design?a?raised?cosine?FIR?filter,設計升余弦窗
figure(2);??%繪制升余弦窗時域圖
stem(p)title(‘升余弦窗時域圖‘);
figure(3);
freqz(p)title(‘升余弦窗頻域圖‘);
?
%I路和Q路信號成形
xi=upsample(xi4);?%信號內插
xq=upsample(xq4);
yi=conv(pxi);??%I路信號與升余弦窗卷積
yq=conv(pxq);??%Q路信號與升余弦窗卷積
figure(4);??????%繪制成形信號圖
subplot(211);
plot(yi)title(‘I路成形信號‘);
subplot(212);
plot(yq)title(‘Q路成形信號‘);
figure(5);
plot(db(freqz(yi)/max(abs(freqz(yi)))))title(‘I路成形信號頻譜‘)xlabel(‘頻率/Hz‘)ylabel(‘幅度/db‘);
figure(6);
plot(db(freqz(yq)/max(abs(freqz(yq)))))title(‘Q路成形信號頻譜‘)xlabel(‘頻率/Hz‘)ylabel(‘幅度/db‘);
%********************************HBF********************************%
%設計半帶濾波器,階數為15。
B=firhalfband(140.01‘dev‘);?%15階半帶濾波器時域響應
figure(7);
stem(B);
title(‘半帶濾波器時域圖‘);
figure(8);
plot(db(abs(freqz(B))));
title(‘半帶濾波器頻域圖‘);
%I、Q兩路信號分別與HBF卷積
%yi=upsample(yi4);
%yq=upsample(yq4);
yih=conv(Byi);
yqh=conv(Byq);
figure(9);???%繪制經過HBF后的信號
subplot(211);
plot(yih)title(‘HBF濾波后I路信號‘);?%時域信號
subplot(212);
plot(yqh)title(‘HBF濾波后Q路信號‘);
figure(10);
%freqz(yih);
plot(db(freqz(yih)/max(abs(freqz(yih)))))title(‘HBF濾波后I路信號頻譜‘)xlabel(‘頻率/Hz‘)ylabel(‘幅度/db‘)?%頻域信號
figure(11);
plot(db(freqz(yqh)/max(abs(freqz(yqh)))))title(‘HBF濾波后Q路信號頻譜‘)xlabel(‘頻率/Hz‘)ylabel(‘幅度/db‘);
%*****************************CIC******************************%
%設計CIC
Rc=3;?%interpolation?factor內插系數
Mc=1;?%defferential?delay延時
N=5;??%number?of?sections?單元數量
Hm=mfilt.cicinterp(RcMcN);?
%figure(12);
%stem(Hm);
%I、Q兩路信號分別經過CIC濾波
y_fi=filter(Hmyih);
y_fq=filter(Hmyqh);
yih=double(yih);?yic=double(y_fi);?yic=yic/max(abs(yic));%數據類型轉換,并歸一化
yqh=double(yqh);?yqc=double(y_fq);?yqc=yqc/max(abs(y
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????4639??2008-11-01?21:47??QAM.m
-----------?---------??----------?-----??----
?????????????????4857????????????????????2
評論
共有 條評論