请问,matlab中sym1(m,:) = mapping(temp,:mapping = [3*d 3*d;-3*d 3*d;3*d -3*d;-3*d -3*d;d 3*d;-d 3*d;d -3*d;-d -3*d;3*d d;-3*d d;3*d -d;-3*d -d;d d;-d d;d -d;-d -d];我在做LDPC的QAM调制.具体一点的部分程序如下:mapping = [3*d 3*d;-3*

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/08 23:48:15

请问,matlab中sym1(m,:) = mapping(temp,:mapping = [3*d 3*d;-3*d 3*d;3*d -3*d;-3*d -3*d;d 3*d;-d 3*d;d -3*d;-d -3*d;3*d d;-3*d d;3*d -d;-3*d -d;d d;-d d;d -d;-d -d];我在做LDPC的QAM调制.具体一点的部分程序如下:mapping = [3*d 3*d;-3*
请问,matlab中sym1(m,:) = mapping(temp,:
mapping = [3*d 3*d;
-3*d 3*d;
3*d -3*d;
-3*d -3*d;
d 3*d;
-d 3*d;
d -3*d;
-d -3*d;
3*d d;
-3*d d;
3*d -d;
-3*d -d;
d d;
-d d;
d -d;
-d -d];
我在做LDPC的QAM调制.
具体一点的部分程序如下:
mapping = [3*d 3*d;
-3*d 3*d;
3*d -3*d;
-3*d -3*d;
d 3*d;
-d 3*d;
d -3*d;
-d -3*d;
3*d d;
-3*d d;
3*d -d;
-3*d -d;
d d;
-d d;
d -d;
-d -d];
mapping = mapping./sqrt(120);%%mapping到底是干嘛的?和gray映射等又是什么关系?
axis_snr_dr=0:1:8;%%用于确定信噪比的范围画图
for snr_db =0:1:8; %% 信噪比
EbN0 = 10^(snr_db/10);%%将信噪比线性化,用于计算方差
ErrorBit1 = 0; %%用于累计误码个数
sgma=sqrt(1/(4*EbN0)); %%sgma=方差
%bit源
for code_num = 1:1:100
b=randint(1,M);%%randint(n,m)产生的是一个n*m维的随机二进制矩阵
b = b';%%转置
%编码
code_org = ldpc_encode(G,b); %%ldpc编码后序列
code_org = code_org';
%16QAM调制
for m = 1:252
temp = code_org((m-1)*4+1)*8+code_org((m-1)*4+2)*4+code_org((m-1)*4+3)*2+code_org((m-1)*4+4)+1;
sym1(m,:) = mapping(temp,:);%%经16QAM调制且映射后序列
end

请问,matlab中sym1(m,:) = mapping(temp,:mapping = [3*d 3*d;-3*d 3*d;3*d -3*d;-3*d -3*d;d 3*d;-d 3*d;d -3*d;-d -3*d;3*d d;-3*d d;3*d -d;-3*d -d;d d;-d d;d -d;-d -d];我在做LDPC的QAM调制.具体一点的部分程序如下:mapping = [3*d 3*d;-3*
就是把mapping的第temp行,复制给sym1的第m行.
当然,必须保证两个矩阵列数相同,要不然会出错.
mapping(temp,:) 表示mapping的第temp行的所有列,也就是整行,单独用冒号相当于1:end的省略.
比如A(2,:)就表示矩阵A的第二行整行,结果是个行向量.
A([4 6 7],:)就表示矩阵的第4、6、7三行,结果是一个3行矩阵.
A(:,8) 表示矩阵的第8列整列,结果是个列向量.