RTV forum PL | NewsGroups PL

Najlepsze źródła wiedzy o cyfrowej demodulacji AM w zakresie 2.5-8 MHz?

Cyfrowa demodulacja AM

NOWY TEMAT

elektroda NewsGroups Forum Index - Elektronika Polska - Najlepsze źródła wiedzy o cyfrowej demodulacji AM w zakresie 2.5-8 MHz?

MH
Guest

Mon Feb 14, 2011 7:36 pm   



Witam ,

Problem jak w temacie. Częstotliwość nośnej od 2.5 do 8 MHz , częstotliwość
sygnału modulującego rzędu 100KHz , częstotliwość próbkowania 65MHz.

No i teraz... chcę zrobić demodulację cyfrowo (wyłuskanie obwiedni) , a
doświadczenie w DSP mam raczej mizerne. Gdzie w sieci można coś sensownego
poczytać na ten temat , aby załapać to zarówno od strony teoretycznej jak i od
strony konkretnych rozwiązań ?!

MH

--
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/

Jacek Radzikowski
Guest

Tue Feb 15, 2011 8:55 am   



On 02/14/2011 12:36 PM, MH wrote:
Quote:
Witam ,

Problem jak w temacie. Częstotliwość nośnej od 2.5 do 8 MHz , częstotliwość
sygnału modulującego rzędu 100KHz , częstotliwość próbkowania 65MHz.

No i teraz... chcę zrobić demodulację cyfrowo (wyłuskanie obwiedni) , a
doświadczenie w DSP mam raczej mizerne. Gdzie w sieci można coś sensownego
poczytać na ten temat , aby załapać to zarówno od strony teoretycznej jak i od
strony konkretnych rozwiązań ?!

Najpierw przenieś sygnał do pasma podstawowego przez wymnożenie
przebiegu wejściowego przez sygnał cyfrowej heterodyny w postaci 2
przebiegów sinusoidalnych przesuniętych w fazie o 90 stopni (sinus i
cosinus). Na wyjściu otrzymasz sygnał zespolony, o składowych zwyczajowo
nazywanych I i Q (I pochodzi od "In phase", Q od Quadrature).
Później taki sygnał zespolony filtrujesz i decymujesz (zmniejszasz
częstotliwość próbkowania. Nie ma sensu próbkować z częstotliwością
65MHz sygnału od zera do paśmie kilkuset kHz).
Sama demodulacja AM sygnału zespolonego jest już dość prosta.
Najprostszy sposób na detekcję obwiedni to policzenie długości wektora
IQ: A = sqrt (I^2 + Q^2). Jeśli nie chcesz liczyć kwadratów i
pierwiastków, da się to policzyć algorytmem CORDIC.

Zanim zabierzesz się za implementację pobaw się w matlabie albo w
gnuradio (można sobie "wyklikać" układ w grc).

pzdr.
j.

Jacek Radzikowski
Guest

Tue Feb 15, 2011 10:19 am   



On 02/15/2011 03:54 AM, MH wrote:
Quote:
Jacek Radzikowski<jacek@spamer.die.die.die.piranet.org> napisał(a):


Najpierw przenieś sygnał do pasma podstawowego przez wymnożenie
przebiegu wejściowego przez sygnał cyfrowej heterodyny w postaci 2
przebiegów sinusoidalnych przesuniętych w fazie o 90 stopni (sinus i
cosinus). Na wyjściu otrzymasz sygnał zespolony, o składowych zwyczajowo
nazywanych I i Q (I pochodzi od "In phase", Q od Quadrature).
Później taki sygnał zespolony filtrujesz i decymujesz (zmniejszasz
częstotliwość próbkowania. Nie ma sensu próbkować z częstotliwością
65MHz sygnału od zera do paśmie kilkuset kHz).
Sama demodulacja AM sygnału zespolonego jest już dość prosta.
Najprostszy sposób na detekcję obwiedni to policzenie długości wektora
IQ: A = sqrt (I^2 + Q^2). Jeśli nie chcesz liczyć kwadratów i
pierwiastków, da się to policzyć algorytmem CORDIC.

Zanim zabierzesz się za implementację pobaw się w matlabie albo w
gnuradio (można sobie "wyklikać" układ w grc).

pzdr.
j.

================

Jeżeli chodzi o częstotliwość modulującą , to chyba trochę przesadziłem "w
dół". W związku z tym , do decymacji wydaje mi się należy podchodzić dość
ostrożnie. Ale nie w tym rzecz.. Wróćmy do samego algorytmu demodulacji.
Przypuśćmy , że sygnał modulujący jest postaci x1(1)=A*sin(w*t) , nośna jest
postaci x2(t)=B*sin(w0*t) , wobec tego sygnał odebrany ma postać
y(t)=C*sin(w*t)*sin(w0*t). W/g metody , którą podajesz otrzymujemy po zmieszaniu :
I(t)=D*sin(w*t)*(sin(w0*t))^2 , Q(t)=D*sin(w*t)*sin(w0*t)*cos(w0*t) .
Nietrudno udowodnić , że sqrt(I^2+Q^2)=D*y(t).
No i niestety jestem w punkcie wyjścia. Gdzie tu jest "haczyk" ??

"Haczyk" tkwi w rozwinięciu (sin(w0*t))^2 i sin(w0*t)*cos(w0*t) (co da
da stałą i funkcję 2*w0*t) i przepuszczeniu przez filtr
dolnoprzepustowy, co wyzeruje wyraz zależny od 2*w0*t.
Choć jak tak sobie na szybko przeliczyłem, to wychodzi że samo
sprowadzenie do pasma podstawowego i odfiltrowanie da nam E*sin(w*t). Po
policzeniu długości wychodzi F*|sin(w*t)|.

pzdr.
j.

MH
Guest

Tue Feb 15, 2011 10:54 am   



Jacek Radzikowski <jacek@spamer.die.die.die.piranet.org> napisał(a):


Quote:
Najpierw przenieś sygnał do pasma podstawowego przez wymnożenie
przebiegu wejściowego przez sygnał cyfrowej heterodyny w postaci 2
przebiegów sinusoidalnych przesuniętych w fazie o 90 stopni (sinus i
cosinus). Na wyjściu otrzymasz sygnał zespolony, o składowych zwyczajowo
nazywanych I i Q (I pochodzi od "In phase", Q od Quadrature).
Później taki sygnał zespolony filtrujesz i decymujesz (zmniejszasz
częstotliwość próbkowania. Nie ma sensu próbkować z częstotliwością
65MHz sygnału od zera do paśmie kilkuset kHz).
Sama demodulacja AM sygnału zespolonego jest już dość prosta.
Najprostszy sposób na detekcję obwiedni to policzenie długości wektora
IQ: A = sqrt (I^2 + Q^2). Jeśli nie chcesz liczyć kwadratów i
pierwiastków, da się to policzyć algorytmem CORDIC.

Zanim zabierzesz się za implementację pobaw się w matlabie albo w
gnuradio (można sobie "wyklikać" układ w grc).

pzdr.
j.

================


Jeżeli chodzi o częstotliwość modulującą , to chyba trochę przesadziłem "w
dół". W związku z tym , do decymacji wydaje mi się należy podchodzić dość
ostrożnie. Ale nie w tym rzecz.. Wróćmy do samego algorytmu demodulacji.
Przypuśćmy , że sygnał modulujący jest postaci x1(1)=A*sin(w*t) , nośna jest
postaci x2(t)=B*sin(w0*t) , wobec tego sygnał odebrany ma postać
y(t)=C*sin(w*t)*sin(w0*t). W/g metody , którą podajesz otrzymujemy po zmieszaniu :
I(t)=D*sin(w*t)*(sin(w0*t))^2 , Q(t)=D*sin(w*t)*sin(w0*t)*cos(w0*t) .
Nietrudno udowodnić , że sqrt(I^2+Q^2)=D*y(t).
No i niestety jestem w punkcie wyjścia. Gdzie tu jest "haczyk" ??

Pozdrawiam ,

MH

--
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/

WP
Guest

Tue Feb 15, 2011 12:19 pm   



On 14 Lut, 18:36, " MH" <logiznam.WYT...@gazeta.pl> wrote:
Quote:
Witam ,

Problem jak w temacie. Cz stotliwo no nej od 2.5 do 8 MHz , cz stotliwo
sygna u moduluj cego rz du 100KHz , cz stotliwo pr bkowania 65MHz.

No i teraz... chc zrobi demodulacj cyfrowo (wy uskanie obwiedni) , a
do wiadczenie w DSP mam raczej mizerne.  Gdzie w sieci mo na co sensownego
poczyta na ten temat , aby za apa to zar wno od strony teoretycznej jak i od
strony konkretnych rozwi za ?!

MH

--
Wys ano z serwisu Usenet w portalu Gazeta.pl ->http://www.gazeta.pl/usenet/

Zależy od szczegółów. Jeśli wiesz, że twój sygnał jest jedynym i poza
tym nie ma żadnego obcego syfu, to sprawa jest całkiem prosta.
Wystarczy zmierzyć chwilową amplitudę czegokolwiek co dostajesz, czyli
kwadrat lub wart. bezwzgl. wpuścić na najprymitywniejszy lowpass.

Jak potrzebujesz wybrać twój kanał spośród innych, to już Jacek
napisał, specjalnie prościej nie będzie.
WP

MH
Guest

Tue Feb 15, 2011 1:16 pm   



WP <palantinos@gmail.com> napisał(a):


Quote:

Zale=BFy od szczeg=F3=B3=F3w. Je=B6li wiesz, =BFe tw=F3j sygna=B3 jest jedy=
nym i poza
tym nie ma =BFadnego obcego syfu, to sprawa jest ca=B3kiem prosta.
Wystarczy zmierzy=E6 chwilow=B1 amplitud=EA czegokolwiek co dostajesz, czyl=
i
kwadrat lub wart. bezwzgl. wpu=B6ci=E6 na najprymitywniejszy lowpass.

Jak potrzebujesz wybra=E6 tw=F3j kana=B3 spo=B6r=F3d innych, to ju=BF Jacek
napisa=B3, specjalnie pro=B6ciej nie b=EAdzie.
WP

=================

Chyba z grubsz zaczynam kojarzyć. Podziękowania dla Ciebie i Jacka. Pozostaje
zaprojektowanie LPF. Rozsądnym wydaje się FIR (??). Czy o stałych
współczynnikach będzie OK?? Ilość "tapsów" wydaje mi się należy ustalić
empirycznie. Będę to implementował w FPGA , więc mam dosyć dużo swobody.

Pozdrawiam ,

MH


--
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/

Jacek Radzikowski
Guest

Tue Feb 15, 2011 4:06 pm   



On 02/15/2011 06:16 AM, MH wrote:

Quote:
Chyba z grubsz zaczynam kojarzyć. Podziękowania dla Ciebie i Jacka. Pozostaje
zaprojektowanie LPF. Rozsądnym wydaje się FIR (??). Czy o stałych
współczynnikach będzie OK?? Ilość "tapsów" wydaje mi się należy ustalić
empirycznie. Będę to implementował w FPGA , więc mam dosyć dużo swobody.

Poczytaj o filtrach grzebieniowych (cascaded integrator-comb filter -
CIC). Prostsze w implementacji i łatwo zintergrować z decymatorem (hasło
go googlania: decimating cic filter)

pzdr.
j.

Jacek Radzikowski
Guest

Tue Feb 15, 2011 4:43 pm   



On 02/15/2011 10:32 AM, MH wrote:

Quote:
Na potwierdzenie tego o czym pisałeś w poprzednim poście znalazłem :

http://tnij.org/kfxz

Odn. demodulacji AM , znalazłem metodę z wykorzystaniem transf. Hilberta.
Jednak "na dzień dobry" wypróbuję Twoją propozycję.

Jak na FPGA to najprościej będzie chyba policzyć CORDICem.

j.

MH
Guest

Tue Feb 15, 2011 5:32 pm   



Jacek Radzikowski <jacek@spamer.die.die.die.piranet.org> napisał(a):


Quote:

Poczytaj o filtrach grzebieniowych (cascaded integrator-comb filter -
CIC). Prostsze w implementacji i łatwo zintergrować z decymatorem (hasło
go googlania: decimating cic filter)

pzdr.
j.
============


Na potwierdzenie tego o czym pisałeś w poprzednim poście znalazłem :

http://tnij.org/kfxz

Odn. demodulacji AM , znalazłem metodę z wykorzystaniem transf. Hilberta.
Jednak "na dzień dobry" wypróbuję Twoją propozycję.

Pozdrawiam ,

MH

--
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/

elektroda NewsGroups Forum Index - Elektronika Polska - Najlepsze źródła wiedzy o cyfrowej demodulacji AM w zakresie 2.5-8 MHz?

NOWY TEMAT

Regulamin - Zasady uzytkowania Polityka prywatnosci Kontakt RTV map News map