Digital Signal Processing Reference
In-Depth Information
x ( t )
1
0
t
0
1/2
1
2
3
Bild 1-7 Periodischer Rechteckimpulszug in normierter Darstellung
Wir erstellen zunächst eine MATLAB-Funktion für die Funktionswerte des periodischen
Rechteckimpulses.
Bevor Sie beginnen löschen Sie zuerst den Workspace mit dem Kommando clear im
Command Window . Dann öffnen Sie ein neues Editor/Debugger-Window und geben
die folgenden Zeilen ein.
Programmbeispiel 1-1 Rechteckimpulszug
% y = rectangular(t,p,w)
% t : time samples (t>=0)
% p : period
% w : impulse width
% rectangular.m * mw * 03/30/2007
function y = rectangular(t,p,w)
y = zeros(size(t));
% default amplitude = 0
for n=1:length(t)
x = mod(t(n),p);
% mapping of t into fundamental period
if x>=0 && x<=w
y(n) = 1;
% set amplitude = 1
end
end
Anmerkung: Das Programm enthält bereits einige MATLAB-eigene Funktionen, Operatoren und Steuer-
elemente. Mit dem help -Kommando zu mod , >= , && und for haben Sie Zugriff auf die jeweilige
MATLAB-Dokumentation.
Die Approximation des periodischen Rechteckimpulszuges geschieht mit der aus der Mathe-
matik bekannten Fourier-Reihe
f
12
1
¦
x t
()
sin (2
n
1) 2
S
t
2
S
2
n
1
n
0
Dazu erstellen Sie folgendes Programm:
Programmbeispiel 1-2 Fourier-Reihe
% y = fourier(t,N)
% t : time samples
% N : number of harmonics used (N>=1)
% fourier.m * mw * 03/30/2007
function y = fourier(t,N)
y = 0.5*ones(size(t));
% default amplitude = 0
for n=0:N-1
y = y + ((2/pi)/(2*n+1)) * sin((2*n+1)*2*pi*t);
end
Search WWH ::




Custom Search