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

📄 walsh_sequence_generator.m

📁 构建CDMA通信系统
💻 M
字号:
<matlab> Hadamard矩阵实现CDMA信道walsh正交码
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%                                                                                     %
%  该函数通过输入因子生成相应阶数的哈达曼(Hadamard)矩阵    %
%  利用哈达曼矩阵得到正交的walsh矩阵,参数num为矩阵阶数    %
%                                                                                     %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function [walsh_matrix] = walsh_sequence_generator(num)
if nargin < 1                                      % 如果输入参数为空,默认输出0阶哈达曼矩阵
    num = 0;
end
if rem(log2(num),1) ~= 0 | num < 0 | num == 1
    error('参数 num 必须是非负的正整数,且必须为2的幂次 !');
end
walsh_matrix = [];                             % 初始化输出walsh序列矩阵
if num == 0
    walsh_matrix = [1];                       % 参数为零的Hadamard矩阵
elseif num == 2
    walsh_matrix = [1 1;1 -1];              % 参数为2的2阶Hadamard矩阵
else
    walsh_matrix = [1 1;1 -1];
    for k = 1:log2(num)-1                    % 循环生成log2(num)阶Hadamard矩阵
        walsh_matrix = [walsh_matrix,walsh_matrix;walsh_matrix,-walsh_matrix]; 
    end    
end

⌨️ 快捷键说明

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