matlab仿真系统辨识中M序列作为系统输入怎么写程序?

matlab仿真系统辨识中M序列作为系统输入怎么写程序?,第1张

白噪声序列并不是m序列。但是m序列是一种特殊的白噪声序列。m序列的特性决定它在信号编码处理中的广泛应用。例如CDMA,码分多路复用。

下面详细介绍m序列的特性,产生方式和Mablab例程。

m序列是最基本的PN序列。PN序列就伪随机序列。 伪随机序列的存在是因为在实际中并不存在完美的随机序列。m序列是最长线性反馈移位寄存器序列的简称。这就说明了,m序列是由反馈移位寄存器来产生的。例如n=9的m序列产生移裤派位寄存器如下图所示:

移位胡改贺寄存器的形式,取决于n的值。

m序列特性的特性:

1. m序列每一周期中 1 的个数比 0 的个数多 1 个

2. 相异m序列,按模2相加所得的序列仍为m序列

3. m序列的自相关函数为近似脉冲狄拉克δ函数,n越大,越理想。这歼歼一点是m序列的关键。

Mablab例程

以下以n=7为例,来演示m序列的产生

%===================================

n = 7

taps=2

tap1=1

tap2=7

flag = 0

rand('state',sum(100*clock))

while 1

abuff = round(rand(1,n))

%make sure not all bits are zero

if find(abuff==1)

break

end

end

for i = (2^n)-1:-1:1

xorbit = xor(abuff(tap1),abuff(tap2)) %feedback bit

abuff = [xorbit abuff(1:n-1)]

y(i) = (-2 .* xorbit) + 1  %yields one's and negative one's (0 ->11 ->-1)

end

stem(y)

ylim([-2,2])

xlim([1,2^(n+1)])

figure

[c,lags]=xcorr(y)

plot(lags,c)

%===================================

运行结果:

m序列

m序列自相关:

给你贴一段吧

clear all

close all

clc

% M array construction

Np=15r=4

X1=1X2=1X3=1X4=1

m_length = r*Np

a=1

for i=1:1:m_length

Y4=X4Y3=X3Y2=X2Y1=X1

X4=Y3X3=Y2X2=Y1

X1=xor(Y3,Y4)

if Y4==0

M(i)=-a

else

M(i)=a

end

end

figure

i=1:1:m_length

plot(i,M)

% 白噪声

noise = zeros(1,m_length)

for i=1:1:m_length

temp = noise + 0.5*rands(1,m_length)

noise = temp

end

noise = noise/12

%noise = temp

% parameter of system

n=2d=1a1=-1a2=0.5b1=1b2=0.5

S_U0=0.2S_Y0=0.2

% generate u,y

u0=ones(1,m_length)*S_U0

U = M + u0 + noise

figure

i=1:1:m_length

plot(i,U)

%formulation

y(1)=0y(2)=0y(3)=0

Y(1)=S_Y0+y(1)+noise(1)Y(2)=S_Y0+y(2)+noise(2)Y(3)=S_Y0+y(3) +noise(3)

for k=4:m_length

y(k) = b1*U(k-1-d)+b2*U(k-2-d)-a1*y(k-1)-a2*y(k-2)

Y(k)=S_Y0+y(k)+noise(k)

end

figure

i=1:1:m_length

plot(i,Y)

%辨识

% premitive value

c=2

P = (c^3)*eye(3*n+d)

sita(:,3) = [0,0,0,0,0,0,0]'

alf = 0.995

% M

%compute U0,Y0

sum_U = 0sum_Y = 0

for k=1:1:m_length

sum_U = sum_U + U(k)

sum_Y = sum_Y + Y(k)

end

t_U0 = sum_U/m_lengtht_Y0 = sum_Y/m_length

for k=1:1:m_length

t_u(k) = U(k) - t_U0

t_y(k) = Y(k) - t_Y0

end

figure

i=1:1:m_length

plot(i,t_u)

figure

i=1:1:m_length

plot(i,t_y)

v(1)=0v(2)=0v(3)=0

for k=4:1:m_length

fai = [-t_y(k-1),-t_y(k-2),t_u(k-1-d),t_u(k-2-d),v(k-1),v(k-2),v(k-3)]'

v(k) = t_y(k) - fai'*sita(:,k-1)

W = P*fai

dan = 1/(alf + fai'*W)

sita(:,k) = sita(:,k-1) + dan*W*v(k)

P = ( P - dan * W*W')/alf

end

figure

i = 3:1:m_length

plot(i,sita(1,3:m_length),'樱握r',i,sita(2,3:m_length),'差颂局g',i,sita(3,3:m_length),'b',i,sita(4,3:m_length),'y',i,sita(5,3:m_length),'m'虚让,i,sita(6,3:m_length),'c',i,sita(7,3:m_length),'k')

系统辨识问题中的三桐冲册要素的特点是数据,模型,准则,详细介绍如下:

一、数据:

1、数据是事实或观察的结果,是对客观事物的逻辑归纳,是用于表示客观事物的未经加工的原始局宏素材。数据可以是连续的值,比如声音图像,称为模拟数据,也可以是离散的,如符号文字,称为数字数据。

2、数据是指对客观事件进行记录并可以鉴别的符号,是对客观事物的性质、状态以及相互关系等进行记载的物理符号或这些物理符号的组合。它是可识别的、抽象的符号。在计算机科学中,数据是所有能输入计算机并被计算机程序处理的符号的介质的总称,是用于输入电子计算机进行处理,具有一定意义的数字、字母、符号和模拟量等的通称。

二、模型:

1、通过主观意识借助实体或者虚拟表现,构成客观阐述形态结构的一种表达目的的物件,物件并不等于物体,不局限于实体与虚拟、不限于平面判枯与立体。

2、任何物件定义为商品之前的研发过程中形态均为模型,当定义型号、规格并匹配相应价格的时候,模型将会以商品形式呈现出来。当模型与事物发生联系时会产生一个具有性质的框架,此性质决定模型怎样随事物变化。

三、准则:

1、人类的行为看起来复杂多样,变化莫测,似乎没有什么规律可循,但整个社会又井然有序、由低级向高级、由简单到复杂、不断向前发展。

2、 任何一个社会都必然存在各种形式的具体约束规则来制约和控制个人和集体的行为,而且,这些不同具体形式的约束规则又服从同一个最高级别的约束规则。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12212483.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存