用matlab设计一个序列并且求出其自相关函数和互相关函数

1.1简介m序列

m序列是最长线性反馈移位寄存器序列的简称。它是由带线性反馈的移存器产生的周期最长的序列。一般来说,一个n级线性反馈移存器可能产生的最长周期等于(2^n -1)。

m序列是一种典型的伪随机序列。在通信领域有着广泛的应用,如扩频通信、卫星通信的码分多址(CDMA),数字数据中的加密、加扰、同步、误码率测量等领域。

1.2本原多项式

 

 matlab程序设计

function mseq=mseq(t)
n = 5 ;
N = 2^n - 1 ;
reg = [1 0 1 0 1 ] ;
reg_1 = [] ;

for i = 1 :N 
    reg_1(i) = reg(5) ;
    
    feedback = mod(sum(reg.*t),2);
    
    reg(2:5) = reg(1:4);
    
    reg(1) = feedback ; 
end
 mseq = reg_1;
 figure(1) 
 subplot (3,1,1)
 stem(mseq)

m1 = 2*mseq([0 0 1 0 1 ]) - 1;
m2 = 2*mseq([1 0 1 1 1 ])- 1 ;
m3 = [m1,m1,m1,m1,m1];
m4 = [m2,m2,m2,m2,m2];
N = 2^5-1;
a=[];
b=[];
for i=1 :4*N
   a(i) = sum(m3(i+1:N+i).*m3(1:N));
   b(i) = sum(m4(i+1:N+i).*m3(1:N));
end
a = a/N;
b = b/N;

figure (1)
subplot(2,1,1);

plot(a);

subplot(2,1,2);
plot(b);

 

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是用MATLAB方波和正弦波的相关函数的步骤: 1. 定义方波和正弦波的时间序列。 ```matlab % 定义采样频率和时间序列长度 fs = 1000; % 采样频率为1000 Hz t = 0:1/fs:1; % 时间序列长度为1秒,采样间隔为1/fs秒 % 定义方波信号 f_square = 5; % 方波频率为5 Hz square_signal = square(2*pi*f_square*t); % 定义正弦波信号 f_sine = 10; % 正弦波频率为10 Hz sine_signal = sin(2*pi*f_sine*t); ``` 2. 计算方波和正弦波的相关函数。 ```matlab % 计算方波和正弦波的相关函数 corr_signal = xcorr(square_signal, sine_signal); ``` 3. 绘制相关函数的图像。 ```matlab % 绘制相关函数的图像 lag = -(length(square_signal)-1):(length(square_signal)-1); plot(lag/fs, corr_signal); xlabel('Time (s)'); ylabel('Cross-correlation'); title('Cross-correlation between square wave and sine wave'); ``` 完整的MATLAB代码如下: ```matlab % 定义采样频率和时间序列长度 fs = 1000; % 采样频率为1000 Hz t = 0:1/fs:1; % 时间序列长度为1秒,采样间隔为1/fs秒 % 定义方波信号 f_square = 5; % 方波频率为5 Hz square_signal = square(2*pi*f_square*t); % 定义正弦波信号 f_sine = 10; % 正弦波频率为10 Hz sine_signal = sin(2*pi*f_sine*t); % 计算方波和正弦波的相关函数 corr_signal = xcorr(square_signal, sine_signal); % 绘制相关函数的图像 lag = -(length(square_signal)-1):(length(square_signal)-1); plot(lag/fs, corr_signal); xlabel('Time (s)'); ylabel('Cross-correlation'); title('Cross-correlation between square wave and sine wave'); ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值