qam64_demod.m
资源名称:64qam.rar [点击查看]
上传用户:igold809
上传日期:2021-06-03
资源大小:4k
文件大小:1k
源码类别:
3G开发
开发平台:
Matlab
- function demod_out=qam64_demod(demod_in)
- d=zeros(64,length(demod_in));
- D=zeros(64,length(demod_in));
- m=zeros(1,length(demod_in));
- temp=[-7-7*j -7-5*j -7-j -7-3*j -7+7*j -7+5*j -7+j -7+3*j...
- -5-7*j -5-5*j -5-j -5-3*j -5+7*j -5+5*j -5+j -5+3*j...
- -1-7*j -1-5*j -1-j -1-3*j -1+7*j -1+5*j -1+j -1+3*j...
- -3-7*j -3-5*j -3-j -3-3*j -3+7*j -3+5*j -3+j -3+3*j...
- 7-7*j 7-5*j 7-j 7-3*j 7+7*j 7+5*j 7+j 7+3*j...
- 5-7*j 5-5*j 5-j 5-3*j 5+7*j 5+5*j 5+j 5+3*j...
- 1-7*j 1-5*j 1-j 1-3*j 1+7*j 1+5*j 1+j 1+3*j...
- 3-7*j 3-5*j 3-j 3-3*j 3+7*j 3+5*j 3+j 3+3*j ]./sqrt(42);
- for i=1:length(demod_in)
- for n=1:64
- d(n,i)=(abs(demod_in(i)-temp(n))).^2;
- end
- [min_distance,constellation_point] = min(d(:,i)) ; %D(:,i)=sort(d(:,i));
- %排序 (sort the distance in ascending order.)
- m(i) = constellation_point;
- end
- A=de2bi([0:63],'left-msb'); %%将十进制数转换为二进制数
- for i=1:length(demod_in)
- DEMOD_OUT(i,:)=A(m(i),:);
- end
- demod_out=reshape(DEMOD_OUT',1,length(demod_in)*6); %%将解调出的序列按行输出