错误使用 bi2de x = map(bi2de(s, 'left-msb')+1); ↑ 位置 1 处的参数无效。 值必须为非负值。
时间: 2024-02-22 15:57:09 浏览: 42
非常抱歉,这个问题是我疏忽导致的。这个错误是由于 `bi2de` 函数的第一个输入参数 `s` 的大小不是 `k` 的整数倍导致的。我建议您使用以下代码来修复这个错误:
```matlab
% 符号串分组
M = 4;
k = log2(M);
s = reshape(s, k, []);
numSymbols = size(s, 2);
% 4-QAM调制映射表
map = [1 1i -1 -1i];
% 映射
x = zeros(numBits, 1);
for i = 1:numSymbols
x((i-1)*k+1:i*k) = map(bi2de(s(:,i)', 'left-msb')+1);
end
```
在这个版本的代码中,我首先使用 `reshape` 函数将 `s` 分组为 `k` 列,然后使用 `bi2de` 函数和 `for` 循环将每个符号映射到一个复数值。这个代码应该可以解决原来的错误,并正确地运行。
相关问题
错误使用 bi2de x((i-1)*k+1:i*k) = map(bi2de(s(:,i)', 'left-msb')+1); ↑ 位置 1 处的参数无效。 值必须为非负值。
非常抱歉,这个问题又是由我疏忽导致的。这个错误是由于 `bi2de` 函数返回了一个非负值之外的值,导致 `map` 数组的索引出现了错误。这个问题可以通过以下代码来解决:
```matlab
% 符号串分组
M = 4;
k = log2(M);
s = reshape(s, k, []);
numSymbols = size(s, 2);
% 4-QAM调制映射表
报错。对于此运算,数组的大小不兼容。 出错 untitled10 (第 16 行) hop_pattern = bi2de(reshape(mod(info_seq + prn_seq, 2), [], 8), 'left-msb');
这个错误提示是因为在将信息码序列和伪随机码序列进行模2加时,它们的长度不一样。请确保它们的长度相同,例如:
```matlab
% 生成信息码序列
info_seq = randi([0 1], 1, N);
% 生成伪随机码序列
prn_seq = randi([0 1], 1, N); % 与信息码序列长度相同
% 生成跳频指令
hop_pattern = bi2de(reshape(mod(info_seq + prn_seq, 2), [], 8), 'left-msb');
```
另外,当信息码序列和伪随机码序列长度不是8的倍数时,reshape函数的第二个参数应该是一个整数,而不能是一个空数组。例如:
```matlab
% 生成跳频指令
hop_pattern = bi2de(reshape(mod(info_seq + prn_seq, 2), 1, []), 'left-msb');
```
这样可以将信息码序列和伪随机码序列的长度作为一维数组进行模2加,然后将结果reshape成一个行向量。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)