spaß mit frequenzmodulation
This commit is contained in:
parent
d81b6383c0
commit
11b5c8d5ca
1 changed files with 57 additions and 0 deletions
57
frequenzmodulation.m
Normal file
57
frequenzmodulation.m
Normal file
|
@ -0,0 +1,57 @@
|
||||||
|
|
||||||
|
#d = [ 1 0 1 0 1 0 0 1 0 1 1 ];
|
||||||
|
datalen = 30;
|
||||||
|
d = rand(1,datalen) < 0.5;
|
||||||
|
n = 0:datalen-1;
|
||||||
|
Tb = 0.2;
|
||||||
|
fa = 2000;
|
||||||
|
freq = [ 50 30 ];
|
||||||
|
signallen = (datalen*Tb-1/fa)
|
||||||
|
t = 0:(1/fa):signallen;
|
||||||
|
f = freq(d(floor(t/Tb)+1)+1);
|
||||||
|
phi = cumsum(2*pi*f)/fa;
|
||||||
|
s = cos(phi);
|
||||||
|
|
||||||
|
subplot(4,1,1)
|
||||||
|
stem(n,d)
|
||||||
|
subplot(4,1,2)
|
||||||
|
plot(t,s)
|
||||||
|
axis([0 signallen -1 1])
|
||||||
|
|
||||||
|
[b,a] = butter(5,2*mean(freq)/fa);
|
||||||
|
|
||||||
|
slow = filter(b,a,s);
|
||||||
|
st = abs(slow);
|
||||||
|
|
||||||
|
[b2,a2] = butter(10,2*(min(freq)*0.8)/fa);
|
||||||
|
hk = filter(b2,a2,st);
|
||||||
|
|
||||||
|
subplot(4,1,3)
|
||||||
|
cla; hold on;
|
||||||
|
plot(t,slow,'k')
|
||||||
|
plot(t,st,'g')
|
||||||
|
plot(t,hk,'r')
|
||||||
|
hold off
|
||||||
|
axis([0 signallen -1 1])
|
||||||
|
|
||||||
|
mt = zeros(size(n));
|
||||||
|
for i = 1:datalen
|
||||||
|
ts = (i-1) * Tb;
|
||||||
|
te = i * Tb;
|
||||||
|
tf = t > ts & t < te;
|
||||||
|
mt(i) = mean(hk(tf));
|
||||||
|
endfor
|
||||||
|
hold on;
|
||||||
|
stem((n+0.5)*Tb,mt,'r');
|
||||||
|
hold off;
|
||||||
|
|
||||||
|
thr = (min(mt) + max(mt)) / 2;
|
||||||
|
|
||||||
|
ds = mt > thr;
|
||||||
|
|
||||||
|
subplot(4,1,4)
|
||||||
|
err = ds != d;
|
||||||
|
cla; hold on;
|
||||||
|
stem(n(~err),ds(~err))
|
||||||
|
stem(n(err),ds(err),'rx')
|
||||||
|
hold off;
|
Loading…
Reference in a new issue