Re: [問題]隨機產生一組16-QAM訊號

作者: zero2962 (Cipher)   2015-07-12 21:56:01
※ 引述《Feltonee (ee)》之銘言:
: 我想要寫一個產生16-QAM隨機訊號
: 目前有個想法是用if條件式來寫
: 不過感覺運算起來會很慢而且很蠢 (抱歉程式實在不強
: 不知道是否有較神的寫法
: 謝謝
qam_bit=rand(2048,4) > 0.5;
data_bit=qam_bit;
[mx,mode]=size(data_bit);
%16-QAM
normal=1/sqrt(10);
QAM_map=[ 3; 1; -3; -1];
qam_I=data_bit(:,1:2:mode)*(2.^[mode/2-1:-1:0]).';
qam_Q=data_bit(:,2:2:mode)*(2.^[mode/2-1:-1:0]).';
QAM_x=QAM_map(qam_I+1)+j*QAM_map(qam_Q+1);
plot(QAM_x,'+')
axis([-5 5 -5 5])
P.S. 16-QAM => sqrt(16) => 4-PAM
作者: zero2962 (Cipher)   2015-07-13 12:40:00
若在QAM_map加上-7 -5 5 7,那麼就變成64-QAM

Links booklink

Contact Us: admin [ a t ] ucptt.com