?? walsh_sequence_generator.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 + -