離散時間系統及離散卷積

2022-10-11 01:24:10 字數 3797 閱讀 1777

1. dft與idft

function [xk] =dft(xn,n)

%untitled 此處顯示有關此函式的摘要

%此處顯示詳細說明

n=0:1:n-1;

k=n;

wn=exp(-1i*2*pi/n);

nk=n'

*k;wnnk=wn.^nk;

xk=xn*wnnk

end

function [xk] =idft(xk,n)

%untitled2 此處顯示有關此函式的摘要

%此處顯示詳細說明

n=0:1:n-1;

k=n;

wn=exp(-1i*2*pi/n);

nk=n'

*k;wnnk=wn.^(-nk);

xk=(xn*wnnk)/n

end

2 差分方程求序列及dft

clc;

clear;

b=[1,0];

a=[1,-1];

%y(n)-y(n-1)=x(n)

y_1=1; x0=0;

x=1:10; %激勵序列x(n)

y_0=1;

y=[y_0];

for n=2:10y=[y,y(end)+x(n)]; %序列遞推

endsubplot(1,2,1)

stem(y);

xlabel('n

');ylabel(

'y(n)');

title(

'遞推後的序列y');

3 幅頻特性與相頻特性

%實驗一(2)  幅頻特性與相頻特性計算,畫出零極點

clc; %清除命令列

close all; %清除視窗

figure

b=[0,1];

a=[1,-2,1]; %選用系統函式為:h(z)=z/(1-z)^2[r,p,k]=residue(b,a) %求z反變換

zplane(b,a);title(

'零極點圖

'); %零極點圖,z=1是二階極點

figure

n=0:10;

h=impz(b,a,11);

stem(n,h,

'filled

'); title('

衝激響應h(n)

'); %衝激響應圖,h(n)=n*u(n)

figure

w=pi*freqspace(100);

freqz(b,a,w); title(

'幅頻特性與相頻特性

'); %系統頻率響應的幅頻特性和相頻特性圖

4 fft 求卷積

clear;

xn=sin(0.4*[1:15])'

;hn=0.9.^(1:20)';

m=length(xn);n=length(hn);

nx=1:m;nh=1:n;

%l>=n+m+1;

l=pow2(nextpow2(m+n-1));

ticxk=fft(xn,l);hk=fft(hn,l);

yk=xk.*hk;

yn=ifft(yk,l);

toctic,

yn1=conv(xn,hn);

tocsubplot(4,1,1),stem(1:15,xn,'

filled

','k

');title('

序列一'

);subplot(4,1,2),stem(1:20,hn,'

filled

','k

');title('

序列二'

可以看到內建函式的速度要快很多

5 線性卷積

%實驗一(3)     序列的線性卷積計算

clc;

clear;

x=[3,11,7,0,-1,4,2]; %序列1

h=[2,3,0,-1,2,1]; %序列2

y=conv(x,h) %求線性卷積,並輸出結果

subplot(4,1,1)

stem([0:length(x)-1],x,'

filled

'); %序列1影象

xlabel('n

'); ylabel('

幅度'); title('x'

);

subplot(4,1,2)

stem([0:length(h)-1],h,'

filled

'); %序列2影象

xlabel('n

'); ylabel('

幅度'); title('h'

)subplot(4,1,3)

stem([0:length(y)-1],y,'

filled

'); %線性卷積結果影象

xlabel('n

'); ylabel('

幅度'); title('

線性卷積')

%dft方法

m=size(x,2);n=size(h,2);

l=m+n-1;

x1=zeros(1,l);x1(1:m)=x;

h1=zeros(1,l);h1(1:n)=h;

xk=dft(x1,l);hk=dft(h1,l);

wk=xk.*hk

y2=idft(wk,l)

subplot(4,1,4)

stem([0:l-1],y2,'

filled');

xlabel('n

'); ylabel('

幅度'); title('

dft 線性卷積

GPU程式設計之GLSL(五) 二維離散卷積

本程式共分為7個檔案 1個主程式檔案,2個ctimer檔案,2個creader檔案,2個著色器檔案 兩個creader檔案和2個著色器檔案分別在前邊的 二 和 四 中給出,這裡就不詳細解釋了 首先我們來講一下比較簡單的檔案 ctimer檔案 主要是為了獲取時間,以便比較程式效能 這是ctimer.h...

在OpenCV裡實現二維離散卷積3

從結果裡可以看到,當卷積使用full計算時,輸出結果會比原來輸入的影象變大,這樣會破壞影象的大小,如果經過幾遍這樣的計算,影象就會變得非常大,有時候這種輸出結果會導致問題出現。那麼有沒有輸入影象與輸出影象一樣大小的卷積運算呢?是有的,就是same模式計算,如下圖 當卷積核的中心 k 與image的邊...

離散時間控制系統

對連續時間訊號進行週期性取樣得到離散時間序列。取樣訊號x t 加入到取樣開關的輸入端,如果取樣開關每隔時間 t 閉合一次,取樣開關為理想開關,那麼連續訊號f t 經過取樣就得到了一連串的脈衝序列x t 稱為衝激取樣器 i 理想取樣的數學描述 x t x t t x kt x kt t kt x t ...