matlab设计一个N=10的PN序列发生器,每符号一个采样,画出PN序列的自相关函数
时间: 2024-03-05 15:54:33 浏览: 73
以下是实现这个功能的MATLAB代码:
```matlab
% 设置参数
N = 10; % PN序列长度
tap1 = 7; % 第1个寄存器的反馈系数
tap2 = 6; % 第2个寄存器的反馈系数
initstate = '0110101011'; % 初始状态
num_symbols = 10; % 符号个数
% 初始化寄存器状态
sr1 = zeros(1,N);
sr2 = zeros(1,N);
for i = 1:N
sr1(i) = str2num(initstate(i));
sr2(i) = str2num(initstate(i));
end
% 生成PN序列
pn_seq = zeros(1,N*num_symbols);
for i = 1:N*num_symbols
pn_seq(i) = mod(sr1(N)+sr2(tap2),2);
sr1(2:N) = sr1(1:N-1);
sr1(1) = pn_seq(i);
sr2(2:N) = sr2(1:N-1);
sr2(1) = sr1(tap1);
end
% 计算PN序列的自相关函数
corr = xcorr(pn_seq, 'biased');
% 绘制PN序列的自相关函数
lags = -(length(pn_seq)-1):(length(pn_seq)-1);
stem(lags, corr);
title('PN序列的自相关函数');
xlabel('延迟');
ylabel('幅值');
```
在上面的代码中,我们设置了PN序列长度为10,采用了与之前相同的反馈系数和初始状态。我们还设置了生成的符号数为10,这意味着我们将生成10个长度为10的PN序列。然后我们计算PN序列的自相关函数,并将其绘制出来。
这里我们使用 `xcorr` 函数来计算PN序列的自相关函数。 `xcorr` 函数返回自相关函数值与对应延迟值组成的向量,所以我们可以用 `stem` 函数绘制结果。
阅读全文
相关推荐
![zip](https://img-home.csdnimg.cn/images/20241231045053.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)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![-](https://img-home.csdnimg.cn/images/20241231044947.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)