下载此文档

OFDM仿真程序.docx


文档分类:通信/电子 | 页数:约8页 举报非法文档有奖
1/8
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/8 下载此文档
文档列表 文档介绍
function [qam_out] = Qam4_mod(qam_in) %% 4QAM 调制函数%% 输入: 矩阵,列数必须是 4 的倍数, 01 序列%% 输出: 矩阵, 4qam 调制后的矩阵 global QamTable global bitPerSymbol; QamTable =[ -1-i, 1-i, -1+i, 1+i ]; [ m, n]= size(qam_in); qam_out = zeros(m,n/bitPerSymbol); for k= 1:m QamTmp = reshape(qam_in(k,:),bitPerSymbol,n/bitPerSymbol)'; QamTmpTmp = bi2de( QamTmp, 'left-msb'); qam_out(k, :)= QamTable( QamTmpTmp+1 ); end function [qam_out] = Qam4_demod(qam_in) %% 4QAM 解调函数%% 输入: 矩阵,列数必须是的的倍数%% 输出: 矩阵,解调后的 01 序列矩阵%% 之前必须调用过 global QamTable; global bitPerSymbol ; [m,n] = size(qam_in); qam_out = zeros(m,n*bitPerSymbol); % 判决 for k= 1:m delt = abs(reshape(qam_in(k,:), n, 1)*ones(1,4) - ones(n,1)*QamTable); % 求最近的点[tmp, index] = min(delt,[],2); % 得到索引值 qam_outTmp = de2bi(index-1,bitPerSymbol,'left-msb'); qam_out(k,:) = reshape(qam_outTmp',1,bitPerSymbol*n); end function [s_out] = ofdm_mod_neq( s_in ) %% ofdm 调制,无均衡%% 输入:二进制序列%% 输出: ofdm 调制后符号%global CP_len; global nSubC global ifft_len; global symbolPerCarrier; global bitPerSymbol; global CP_len; global carriers; len = length(s_in); SQam = reshape(s_in, nSubC,len/nSubC); % 串并转换 PQam = Qam4_mod(SQam); carriers = (1: nSubC) + (floor( ifft_len/4) - floor(nSubC/2)); conj_carriers = ifft_len - carriers + 2; P_IFFT = zeros(ifft_len, symbolPerCarrier );% 一个符号块,含 4 列训练序列, 1列0 P_IFFT(carriers,:) = PQam; P_IFFT(conj_carriers,:)=conj(PQam); %

OFDM仿真程序 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数8
  • 收藏数0 收藏
  • 顶次数0
  • 上传人福建网
  • 文件大小0 KB
  • 时间2016-06-13