⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ds_walsh_modulation_demodulation.m

📁 构建CDMA通信系统
💻 M
字号:
<matlab> Walsh序列扩频调制解调的实现
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%                                                                                              %
%  函数通过输入信号序列和函数序号,以及调制解调选择参数来           %
%  完成扩频调制解调。original_seq是原始输入序列,可能是未             %
%  调制序列,也可能是调制序列,walsh_num是walsh函数的序号         %
%  select选择对输入的序列进行调制还是解调。                                 %
%                                                                                              %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function [sequence] = DS_walsh_modulation_demodulation(original_seq,walsh_num,select)
if nargin < 2                                       
    error('输入参数不足!');
end
if length(original_seq) < 1
    error('原序列输入错误,无法进行扩频调制!');
end
walsh_sequence = walsh_sequence_generator(64);
walsh_seq = walsh_sequence(walsh_num+1,:);
or_len = length(original_seq);
len = length(walsh_seq);
if select == 1                                      % 进行扩频调制
    mo_seq = walsh_seq.'*original_seq;
    sequence = reshape(mo_seq,1,len*or_len);
else                                                   % 进行扩频序列的解调操作
    de_seq = reshape(original_seq,len,or_len/len);
    sequence = walsh_seq*de_seq/len;
end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -