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