數字信號處理MATLAB簡單序列


數字信號處理應用的幾個基本序列:

1 單位樣本序列

function  mainImseq()
clc
clear
disp('生成抽樣序列');
y=imseq(1,1,5);   %調用樣本函數,此時序列下標以1開頭(1~5之間5個數,下標為1的抽樣值為1)

%子函數imseq:抽樣函數
function [x,n]=imseq(n0,n1,n2)
n=[n1:n2];
x=[(n-n0) ==0 ]

2 單位階越序列

產生u(n)

function  mainImseq()
clc
clear
disp('生成單位階躍序列');
y=stepseq(4,1,10);   %調用樣本函數,此時序列下標以1開頭(1~10之間10個數,下標為4之后的抽樣值全為1)

%子函數stepseq:階躍函數
function [x,n]=stepseq(n0,n1,n2)
n=[n1:n2];
x=[(n-n0) >=0 ]

3 實值指數序列

n=[0:10]; x=(0.9).^n; plot(x,'*')

4復值指數序列

n=[0:10];
x=exp((2+3j)*n);
plot(x,'*')

5正弦序列

n=[0:10];
x=3*cos(0.1*pi*n+pi/3)+2*sin(0.5*pi*n);
plot(x,'*')

6隨機序列

兩種偽隨機序列

rand(1,N)產生一個長度為N,其值在[0,1]之間均勻分布的隨機序列;

      rand(m,n)生成m行n列的均勻分布的偽隨機數 eg:rand(1,10);

             rand(m,n,'double')生成指定精度的均勻分布的偽隨機數,參數還可以是'single'

             rand(RandStream,m,n)利用指定的RandStream(我理解為隨機種子)生成偽隨機數

randn(1,N)產生一個長度為N,均值為0,方差為1的高斯型隨機序列

主要語法:和上面一樣

7周期序列

把一個序列x(n)=[1 2 3 4]產生為3個周期:

x=[1 2 3 4];
xtilde=[x,x,x] %因變量符號可以為任意,如y等

方法二:

>> x=[1 2 3 4];
>> y=x'*ones(1,5);
>> y=y(:);
>> y=y'


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM