RTV forum PL | NewsGroups PL

Dyskryminator FSK dla sygnału 1200/2200 Hz - alternatywy dla alg. Goertzla?

Technika DSP - demodulacja FSK

NOWY TEMAT

elektroda NewsGroups Forum Index - Elektronika Polska - Dyskryminator FSK dla sygnału 1200/2200 Hz - alternatywy dla alg. Goertzla?

Goto page 1, 2  Next

Verox
Guest

Sun Jan 30, 2011 4:01 pm   



Witajcie.

Próbuje zdemodulować sygnał FSK 1200/2200 Hz - szybkość modulacji 1200 bit/s
Próbowałem zrobić to przy pomocy alg. Goertzla, jednak nie udało mi się to,
ponieważ ja musze rozpoznać nośną 1200 Hz już po 833us - czyli po czasie
trwania jednego bitu! Algo Goertzla wymaga większej ilości próbek (więcej
niż jeden okres) dla poprawnego wykrycia podnośnej.
Zero-crossing odpada ze względu na SNR.
Czy ktos z Was może mi podpowiedzieć czego szukać żeby zrobić tani (w sensie
czasu obliczeń, najlepiej stały przecinek) dyskryminator FSK?

--
#begin 755 signature.exe
[tomek <at> sikornik <dot> net] vy 73! de SP9UOB
Proud to be 100 percent microsoft free. op. Tomek

f
Guest

Sun Jan 30, 2011 4:01 pm   



Użytkownik "Verox" <antispam_verox@bijspamera.veroxsystems.com> napisał w
wiadomości news:slrnikarq5.4rb.antispam_verox@matrix.verox.pl...
Quote:
Próbuje zdemodulować sygnał FSK 1200/2200 Hz - szybkość modulacji 1200
bit/s
Próbowałem zrobić to przy pomocy alg. Goertzla, jednak nie udało mi się
to,
ponieważ ja musze rozpoznać nośną 1200 Hz już po 833us - czyli po czasie
trwania jednego bitu! Algo Goertzla wymaga większej ilości próbek (więcej
niż jeden okres) dla poprawnego wykrycia podnośnej.
Zero-crossing odpada ze względu na SNR.

Zastanów się czy to jest w ogóle teoretycznie mozliwe

Michoo
Guest

Sun Jan 30, 2011 4:01 pm   



W dniu 30.01.2011 15:01, Verox pisze:
Quote:
Witajcie.

Próbuje zdemodulować sygnał FSK 1200/2200 Hz - szybkość modulacji 1200 bit/s
Próbowałem zrobić to przy pomocy alg. Goertzla, jednak nie udało mi się to,
ponieważ ja musze rozpoznać nośną 1200 Hz już po 833us - czyli po czasie
trwania jednego bitu!
[..]
Czy ktos z Was może mi podpowiedzieć czego szukać żeby zrobić tani (w sensie
czasu obliczeń, najlepiej stały przecinek) dyskryminator FSK?
Jedyne co mi przychodzi do głowy to wykrywanie zmiany znaku pochodnej.

ale to może być strasznie podatne na zakłócenia.

--
Pozdrawiam
Michoo

Michoo
Guest

Sun Jan 30, 2011 4:07 pm   



W dniu 30.01.2011 15:59, Verox pisze:
Quote:
Kiedyś czytałem o czymś z opóźnieniem i mnożeniem, ale za kija nie potrafie
sobie przypomnieć gdzie i co to było.
Metoda, którą ja kiedyś opracowałem (może jest jakaś lepsza) to

sumowanie (z pomocą bufora cyklicznego) ostatnich k różnic między
kolejnymi próbkami. Ta suma zmienia znak około k/2 próbek za minimum lub
maksimum. W związku z czym pozwala dość dobrze obliczać czas półokresu o
ile zakłócenia nie są zbyt duże.

--
Pozdrawiam
Michoo

Verox
Guest

Sun Jan 30, 2011 4:41 pm   



On Sun, 30 Jan 2011 15:20:00 +0100, f napisał:
Quote:

Użytkownik "Verox" <antispam_verox@bijspamera.veroxsystems.com> napisał w
wiadomości news:slrnikarq5.4rb.antispam_verox@matrix.verox.pl...
Próbuje zdemodulować sygnał FSK 1200/2200 Hz - szybkość modulacji 1200
bit/s
Próbowałem zrobić to przy pomocy alg. Goertzla, jednak nie udało mi się
to,
ponieważ ja musze rozpoznać nośną 1200 Hz już po 833us - czyli po czasie
trwania jednego bitu! Algo Goertzla wymaga większej ilości próbek (więcej
niż jeden okres) dla poprawnego wykrycia podnośnej.
Zero-crossing odpada ze względu na SNR.

Zastanów się czy to jest w ogóle teoretycznie mozliwe

Takie systemy działają, więc mało że teoretycznie możliwe to
udowodnione w praktyce Wink. Chyba że coś źle licze:

Czas 1 bitu = 1/1200 bit/s = 833.33 us To jest raczej jasne i tu błędu nie ma.

okres podnośnej 1200 Hz = 1/1200 Hz = 833.33 us = czas bitu
okres podnośnej 2200 Hz = 1/2200 Hz = 454.54 us = 1.8 * czas bitu

Próbkowanie 16 kHz - próbka co 62.5 us

podnośna 1200 Hz - 13 próbek/okres
podnośna 2200 Hz - 7 próbek/okres

Czyli ZA MAŁO do algo goertzla. Oczywiście moge sie mylić - jeśli tak jest
proszę o naprostowanie, zaczynam zabawe z DSP :-)

--
#begin 755 signature.exe
[tomek <at> sikornik <dot> net] vy 73! de SP9UOB
Proud to be 100 percent microsoft free. op. Tomek

Verox
Guest

Sun Jan 30, 2011 4:59 pm   



On Sun, 30 Jan 2011 15:45:00 +0100, Michoo napisał:
Quote:
W dniu 30.01.2011 15:01, Verox pisze:
Witajcie.

Próbuje zdemodulować sygnał FSK 1200/2200 Hz - szybkość modulacji 1200 bit/s
Próbowałem zrobić to przy pomocy alg. Goertzla, jednak nie udało mi się to,
ponieważ ja musze rozpoznać nośną 1200 Hz już po 833us - czyli po czasie
trwania jednego bitu!
[..]
Czy ktos z Was może mi podpowiedzieć czego szukać żeby zrobić tani (w sensie
czasu obliczeń, najlepiej stały przecinek) dyskryminator FSK?
Jedyne co mi przychodzi do głowy to wykrywanie zmiany znaku pochodnej.
ale to może być strasznie podatne na zakłócenia.

Kiedyś czytałem o czymś z opóźnieniem i mnożeniem, ale za kija nie potrafie
sobie przypomnieć gdzie i co to było.

--
#begin 755 signature.exe
[tomek <at> sikornik <dot> net] vy 73! de SP9UOB
Proud to be 100 percent microsoft free. op. Tomek

Jacek Radzikowski
Guest

Sun Jan 30, 2011 7:27 pm   



On 01/30/2011 09:01 AM, Verox wrote:
Quote:
Próbuje zdemodulować sygnał FSK 1200/2200 Hz - szybkość modulacji 1200 bit/s
Próbowałem zrobić to przy pomocy alg. Goertzla, jednak nie udało mi się to,
ponieważ ja musze rozpoznać nośną 1200 Hz już po 833us - czyli po czasie
trwania jednego bitu! Algo Goertzla wymaga większej ilości próbek (więcej
niż jeden okres) dla poprawnego wykrycia podnośnej.
Zero-crossing odpada ze względu na SNR.
Czy ktos z Was może mi podpowiedzieć czego szukać żeby zrobić tani (w sensie
czasu obliczeń, najlepiej stały przecinek) dyskryminator FSK?

Tutaj masz opisany prosty demodulator:
http://focus.ti.com/lit/an/spra347/spra347.pdf
Pewnie będziesz musiał trochę zmienić parametry demodulatora, ale
matematyka wygląda na w miarę dobrze opisaną.

pzdr.
j.

J.F.
Guest

Sun Jan 30, 2011 8:17 pm   



On Sun, 30 Jan 2011 15:20:00 +0100, f wrote:
Quote:
Użytkownik "Verox" <antispam_verox@bijspamera.veroxsystems.com> napisał w
Próbuje zdemodulować sygnał FSK 1200/2200 Hz - szybkość modulacji 1200
bit/s
Próbowałem zrobić to przy pomocy alg. Goertzla, jednak nie udało mi się
to,
ponieważ ja musze rozpoznać nośną 1200 Hz już po 833us - czyli po czasie
trwania jednego bitu! Algo Goertzla wymaga większej ilości próbek (więcej
niż jeden okres) dla poprawnego wykrycia podnośnej.
Zero-crossing odpada ze względu na SNR.

Zastanów się czy to jest w ogóle teoretycznie mozliwe

Teoretycznie moze nie, ale juz w prehistorycznych czasach modemy
robily to w pol okresu, a w poznej starozytnosci kluczowano 3429 baud,
na nosnej cos 1800Hz, w pasmie 3300Hz (teoretycznie) i jeszcze majac w
kanale probkowanie 8kHz i 8 bit. I rozpoznawano ok 9 bitow na symbol.

Goertzel tez sie powinien do tego nadawac, tylko trzeba zrozumiec jak
on dziala i odpowiednio wykorzystac :-)

J.

Mariusz Dabrowski
Guest

Sun Jan 30, 2011 8:44 pm   



Dnia 30.01.2011 Verox <antispam_verox@bijspamera.veroxsystems.com> napisał/a:
Quote:
Kiedyś czytałem o czymś z opóźnieniem i mnożeniem, ale za kija nie potrafie
sobie przypomnieć gdzie i co to było.

Trzeba opóźnić o ćwierć okresu częstotliwości środkowej (1700Hz).
Następnie sygnał opóźniony mnożymy przez oryginalny.

Pozdrawiam,
Mariusz Dąbrowski

Verox
Guest

Sun Jan 30, 2011 9:44 pm   



On Sun, 30 Jan 2011 18:44:17 +0000 (UTC), Mariusz Dabrowski napisał:
Quote:
Dnia 30.01.2011 Verox <antispam_verox@bijspamera.veroxsystems.com> napisał/a:
Kiedyś czytałem o czymś z opóźnieniem i mnożeniem, ale za kija nie potrafie
sobie przypomnieć gdzie i co to było.

Trzeba opóźnić o ćwierć okresu częstotliwości środkowej (1700Hz).
Następnie sygnał opóźniony mnożymy przez oryginalny.

Dziękuje, po szybkiej symulacji wygląda obiecująco:

http://idom.verox.pl/pub/delay.jpg


--
#begin 755 signature.exe
[tomek <at> sikornik <dot> net] vy 73! de SP9UOB
Proud to be 100 percent microsoft free. op. Tomek

RoMan Mandziejewicz
Guest

Sun Jan 30, 2011 9:55 pm   



Hello J.F.,

Sunday, January 30, 2011, 8:17:02 PM, you wrote:

[...]

Quote:
Zastanów się czy to jest w ogóle teoretycznie mozliwe
Teoretycznie moze nie, ale juz w prehistorycznych czasach modemy
robily to w pol okresu, a w poznej starozytnosci kluczowano 3429 baud,
na nosnej cos 1800Hz, w pasmie 3300Hz (teoretycznie) i jeszcze majac w
kanale probkowanie 8kHz i 8 bit. I rozpoznawano ok 9 bitow na symbol.

Ale to była QAM a nie FSK...

Quote:
Goertzel tez sie powinien do tego nadawac, tylko trzeba zrozumiec jak
on dziala i odpowiednio wykorzystac Smile

A ja z tego i tak niewiele rozumiem.

--
Best regards,
RoMan mailto:roman@pik-net.pl
Nowa strona: http://www.elektronika.squadack.com (w budowie!)

Verox
Guest

Sun Jan 30, 2011 10:04 pm   



On Sun, 30 Jan 2011 20:17:02 +0100, J.F napisał:
Quote:
On Sun, 30 Jan 2011 15:20:00 +0100, f wrote:
Użytkownik "Verox" <antispam_verox@bijspamera.veroxsystems.com> napisał w
Próbuje zdemodulować sygnał FSK 1200/2200 Hz - szybkość modulacji 1200
bit/s
Próbowałem zrobić to przy pomocy alg. Goertzla, jednak nie udało mi się
to,
ponieważ ja musze rozpoznać nośną 1200 Hz już po 833us - czyli po czasie
trwania jednego bitu! Algo Goertzla wymaga większej ilości próbek (więcej
niż jeden okres) dla poprawnego wykrycia podnośnej.
Zero-crossing odpada ze względu na SNR.

Zastanów się czy to jest w ogóle teoretycznie mozliwe

Teoretycznie moze nie, ale juz w prehistorycznych czasach modemy
robily to w pol okresu, a w poznej starozytnosci kluczowano 3429 baud,
na nosnej cos 1800Hz, w pasmie 3300Hz (teoretycznie) i jeszcze majac w
kanale probkowanie 8kHz i 8 bit. I rozpoznawano ok 9 bitow na symbol.

:-)

Quote:
Goertzel tez sie powinien do tego nadawac, tylko trzeba zrozumiec jak
on dziala i odpowiednio wykorzystac Smile

A możesz mnie jakoś nakierować Smile ? Ni hu hu nie przychodzi mi do głowy jak
go użyć do szybkiego wykrycia prążka.

--
#begin 755 signature.exe
[tomek <at> sikornik <dot> net] vy 73! de SP9UOB
Proud to be 100 percent microsoft free. op. Tomek

J.F.
Guest

Sun Jan 30, 2011 10:54 pm   



On Sun, 30 Jan 2011 21:55:08 +0100, RoMan Mandziejewicz wrote:
Quote:
Hello J.F.,
Zastanów się czy to jest w ogóle teoretycznie mozliwe
Teoretycznie moze nie, ale juz w prehistorycznych czasach modemy
robily to w pol okresu, a w poznej starozytnosci kluczowano 3429 baud,
na nosnej cos 1800Hz, w pasmie 3300Hz (teoretycznie) i jeszcze majac w
kanale probkowanie 8kHz i 8 bit. I rozpoznawano ok 9 bitow na symbol.

Ale to była QAM a nie FSK...

Na 2 probkach niewielka roznica :-)


J.

J.F.
Guest

Sun Jan 30, 2011 11:28 pm   



On Sun, 30 Jan 2011 20:04:53 +0000 (UTC), Verox wrote:
Quote:
On Sun, 30 Jan 2011 20:17:02 +0100, J.F napisał:
Goertzel tez sie powinien do tego nadawac, tylko trzeba zrozumiec jak
on dziala i odpowiednio wykorzystac :-)

A możesz mnie jakoś nakierować Smile ? Ni hu hu nie przychodzi mi do głowy jak
go użyć do szybkiego wykrycia prążka.

ten algorytm, tzn dwie zmienne plus algorytm, tworzy taki niby
swobodny rezonator. Podasz odpowiednia czestotliwosc to mu amplituda
rosnie.

Trzeba dwa rezonatory i sprawdzac w ktorym szybciej rosnie.
A rosnie juz w jednym okresie.

Ale tak sobie zasymulowalem i ciekawostke zauwazylem - potrafi tez
zmalec. W sumie nie dziwne - po tych wszystkich modulacjach sygnal
wymuszajacy moze byc w przeciwfazie do swobodnych drgan. Wiec albo
trzeba resetowac na poczatku bitu, albo dorobic tlumienie - i to
raczej spore.

J.

Michał Lankosz
Guest

Tue Feb 01, 2011 1:14 pm   



Użytkownik "Verox" <antispam_verox@bijspamera.veroxsystems.com> napisał w
wiadomości news:slrnikarq5.4rb.antispam_verox@matrix.verox.pl...
Quote:
Witajcie.

Próbuje zdemodulować sygnał FSK 1200/2200 Hz - szybkość modulacji 1200
bit/s
Próbowałem zrobić to przy pomocy alg. Goertzla, jednak nie udało mi się
to,
ponieważ ja musze rozpoznać nośną 1200 Hz już po 833us - czyli po czasie
trwania jednego bitu! Algo Goertzla wymaga większej ilości próbek (więcej
niż jeden okres) dla poprawnego wykrycia podnośnej.
Zero-crossing odpada ze względu na SNR.
Czy ktos z Was może mi podpowiedzieć czego szukać żeby zrobić tani (w
sensie
czasu obliczeń, najlepiej stały przecinek) dyskryminator FSK?

Implementacja na AVR:
http://www.nailed-barnacle.co.uk/callerid/avr/CallerID.asm
może się przyda.
Nie pamiętam, czy to dokładnie ten program sprawdzałem, ale można zerknąć.
Ważną rolę odgrywa filtracja sygnału (tutaj filtr FIR).

Michał

Goto page 1, 2  Next

elektroda NewsGroups Forum Index - Elektronika Polska - Dyskryminator FSK dla sygnału 1200/2200 Hz - alternatywy dla alg. Goertzla?

NOWY TEMAT

Regulamin - Zasady uzytkowania Polityka prywatnosci Kontakt RTV map News map