Elektroda.pl
Elektroda.pl
X
PCBway
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

DDS i modulacja częstotliwości (cyfrowo)

29 Gru 2005 20:36 3629 14
  • Poziom 26  
    Witam,

    Czy ktoś próbował uzyskać za pomocą syntezy DDS modulację częstotliwości? Z jakim skutkiem?

    Obecne układy Analog Devices z wpisem równoległym można przestrajać bardzo szybko (chyba kilkaset ns), można by więc w sposób cyfrowy zmieniać wytwarzaną częstotliwość np. wg funckcji sinus (jako modulującej). Tylko ten sinus będzie także próbkowany, więc nastąpi powielenie widma sygnału modulującego - jak to wpłynie na zajmowane pasmo? Czy zamiast np. 1kHz zajmować będzie 100kHz? A może więcej? Co odbierze demodulator (odbiornik) FM? Zniekształcony (przez powielenie widma) sinus?

    Możnaby cyfrowo nastawiać poziom dewiacji i częstotliwość sygnału modulującego. Do wykorzystania np. przy strojeniu demodulatorów FM, czy badaniu odbiorników FM. Łatwo można zrobić modulację sygnałem prostokątnym - przełączanie dwóch rejestrów, ale głównie chodzi mi o sinusoidalny sygnał modulujący.

    Tak w ogóle to jaki będzie efekt, jeśli np. z częstotliwością 1MHz będę zmieniał częstotliwość np. pomiędzy 10MHz a 20MHz? :) Zrobi się szerokopasmowy syf zgodnie z funkcjami Bessela (modulacja częstotliwości o dewiacji 5MHz sygnałem 1MHz), czy jak? Próbował ktoś? :)

    Póki co nie potrzebuję czegoś takiego, ale w sumie jeśli ktoś wykorzystuje jako generator serwisowy bezpośrednio i tylko DDSa to mógłby prosto dołożyć taki bajer.

    Z góry dzięki za każdą odpowiedź.
    Pozdrawiam.
  • PCBway
  • Poziom 26  
    androot napisał:
    Wystarczy zmodulowac sygnal z generatora odniesienia syntezy DDS.

    Hmm, wg mnie conajmniej dziwne rozwiązanie. Oto wady jakie wymyśliłem na szybko:
    - jako generator odniesienia zwykle wykorzystuje się generatory kwarcowe (czasami optymalizowane pod danym kątem), często gotowe oscylatory - ciężko tutaj zmeniać częstotliwość;
    - jeśli wykorzystujemy w układzie wewnętrzną PLL do powielenia tej częstotliwości, to przypuszczam nie służyłoby to jej;
    - aby uzyskać stałą dewiację w zależności od wytwarzanej przez DDS częstotliwości należałoby odpowiednio zmieniać dewiację generatora odniesienia - skomplikowane i chyba mało dokładne przy tak szerokim zakresie częstotliwości jakich generuje DDS;
    - dewiacja generatora odniesienia musi być odpowiednio większa od tej, jaką chcemy uzyskać na wyjściu DDSa (np. dla fwy=10MHz i dewiacji 10kHz, przy fref=100MHz musimy mieć dewiację 100kHz - a co dla WFM?);
    - brak możliwości cyfrowej regulacji poziomu dewiacji i częstotliwości sygnału modulującego - trzeba wszystko robić analogowo, co tutaj uważam za wadę, gdyż mamy gotowy, cyfrowo sterowany układ DDS wytwarzający sygnał;

    I to tyle. :) Wg mnie pozbawione sensu. A może się mylę? Może czegoś nie wiem... czy Kolega próbował coś takiego robić? Jakie są zalety takiego rozwiązania?

    Już lepiej wg mnie byłoby zmieszać sygnał DDSa z sygnałem o znacznie wyższej, ale stałej częstotliwości (stała częstotliwość, żadnych podziałów, więc parametry modulacji są stałe niezależnie od częstotliwości wyjściowej DDSa), a następnie odfiltrować sygnał niższej częstotliwości.

    Mimo to i tak rozwiązanie skomplikowane, skoro być może da się wszystko zrobić przy użyciu samego DDSa (za pomocą "kilku" dodatkowych linijek programu)...
  • PCBway
  • Poziom 26  
    androot napisał:
    A moze po prostu uzyc MAX038?

    Znam, fajny układ, przy czym chciałbym do tego celu wykorzystać DDS, tym bardziej, że prawdopodobnie ma takie możliwości (i mam obecnie takiego uruchomionego)...

    androot napisał:
    A wogole to czemu sluza te rozwazania teoretyczne? To ma byc jakies konkretne urzadzenie czy zastanawiamy sie co by bylo gdyby?

    To ma być prosty generator serwisowy m.in. z modulacją FM, przydatne tak jak pisałem np. przy strojeniu torów p.cz., demodulatorów czy pomiarze dewiacji. Mam coś tego typu uruchomione, przy czym brakuje mu właśnie modulacji FM.

    Aktualnie mam inne zajęcia i nie jestem w stanie sam tego sprawdzić, dlatego pytam, czy ktoś już coś takiego próbował. Pomysł narodził się kilka dni temu (gdy byłem w potrzebie:) - pytam więc, bo może ktoś już próbował i ma jakieś doświadczenia, być może w ogóle nie warto na to tracić czasu...
  • Poziom 18  
    Witaj

    Na stronie analoga jest jak zrobić nadajnik STEREO FM na układzie AD9851 i tam też sa gdzies linki...

    mam kopie tych plików u siebie - oto one:
    http://www.sp2swj.sp-qrp.pl/DDS_DL4JAL/AD_AN/545038480AN-543.pdf
    oraz to (nie z analoga):
    http://www.sp2swj.sp-qrp.pl/DDS_DL4JAL/AD_AN/DDS-STEREO-TX.pdf

    to może juz znasz :
    http://www.sp2swj.sp-qrp.pl/DDS_DL4JAL/AD_AN/A%20Technical%20Tutorial%20on%20Digital%20Signal%20Synthesis.pdf

    http://www.sp2swj.sp-qrp.pl/DDS_DL4JAL/AD_AN/DDS_AN_AD.htm


    Mailowałem już z twórcę programu AIROMATE o sterowaniu DDS-a z PC zamiast "szybkiej" karty dźwiękowej - zainteresował się - ale teraz ma mało czasu. Jak wstepnie szacowałem żeby zmodulowac zwykłe FM MONO to chyba ponad 2 Mbit/2 pusiał byś puścić równolegle po 8 bitach do DDSa.

    Także proste sterowanie z PC-LPT >> DDS raczej jest mało wydajne :cry:

    Pozdrawiam Jarek
    :D ( o jesze mikołaje są)
  • Poziom 26  
    Dzięki za odpowiedź.

    Część not (aplikacyjnych) już widziałem, na tą o nadajniku FM nie natrafiłem. Jak znajdę chwilkę, to przeczytam na spokojnie...

    Generalnie chodziło mi o wykorzystanie modulacji typowo dla generatora, przetwarzanie dźwięku w czasie rzeczywistym (tzn. obliczanie słów dla DDSa) to faktycznie wyzwanie dla DSP, a na tym się nie znam i nie jest póki co mi to potrzebne.

    W przypadku generatora myślałem tak, by np. wziąć jakąś ATMegę i dołączyć zewnętrzną RAM (64kB), po wybraniu parametrów uC obliczyłby wszystkie słowa dla DDSa i zapisał w RAMie, a następnie (z wysokim priorytetem) odczytywał i wysyłał do DDSa. Dla 64kB RAM i słowie sterującym 4B to 16k próbek w pamięci dla jednego okresu sygnału modulującego. Teraz pytanie jak szybko próbki potrafi odczytywać, układać i wysyłąć do DDSa ATMega... być może dałoby się część próbek pomijać... robi się z tego taki DDS w DDSie. ;)
    Pomysł głębiej nie analizowany, więc pewnie tak prosto nie będzie się dało tego zrobić. :)

    Pierwsze próby jednak na pewno nie przeprowadzę wcześniej, jak na początku marca... a możliwie, że i później... :(

    Temat ten poruszałem także na 'pl.misc.elektronika'...
  • Poziom 18  
    Ja umiesz programować LPT to użyj oryginalnego układu PCB jak na płytce evaluation z Analog-a i będziesz mógł wysyłać równolegle 8 bitów
    + zegar + FQ_UD
    tak naprawde to ważne jest żeby DDS o "konktrnym czasie" dostawał tylko FQ_UD dane musi dostać wcześniej (5x8bitów) w "tempie" dowolnym - byle przed wystawieniem FQ_UD

    Może zacznij eksperymenty właśnie od LPT - jak dobrze odnalazłem można z niego wycisnąć 1,5 Mbit/s - także jest od czegoś zacząć.

    nawet na tą okazję zapisałem gdzieć na PC trochę o LPT - moge ci podesłać.

    a na dzień dobry można by zrobić FM 1kHz -))

    Jeżeli dobrze pamiętam to AD9851 może przyjmować dane z szybkością 20 MHz (datasheet ??)

    Będę śledził ten wątek -)) jak znajdę jakieś ciekawe info to Ci podrzucę -)

    pozdrawiam
    Jarek
  • Poziom 21  
    Witam
    Na stronie Analoga jest dostępna nota aplikacyjna AN-543 w której omówiono sposób uzyskania modulacji FM z wykorzystaniem AD9850.
  • Poziom 18  
    SP1AQU napisał:
    Witam
    Na stronie Analoga jest dostępna nota aplikacyjna AN-543 w której omówiono sposób uzyskania modulacji FM z wykorzystaniem AD9850.


    do AN 543 i nie tylko dałem linka powyżej

    ale jednego ze scalaków z tej noty już podobno nie produkują -(

    /Jarek
  • Poziom 26  
    Jarek SWJ napisał:
    (...) tak naprawde to ważne jest żeby DDS o "konktrnym czasie" dostawał tylko FQ_UD dane musi dostać wcześniej (5x8bitów) w "tempie" dowolnym - byle przed wystawieniem FQ_UD

    Zgadza się, częstotliwość FQ_UD powinna być dokładna i stabilna, co nie zmienia faktu, że jej częstotliwość zależy od tego jak szybko z resztą wyrobi się uC. PC jest lepszy ze względu na możliwości obliczeniowe i elastyczność, ale chodzi o generowanie przebiegów to lepszy będzie uC (coś za coś). Oczywiście pomijam takie wynalazlki jak USB... :)

    Jarek SWJ napisał:
    Może zacznij eksperymenty właśnie od LPT - jak dobrze odnalazłem można z niego wycisnąć 1,5 Mbit/s - także jest od czegoś zacząć.

    Przed chwilą zrobiłem drobne próby z LPT (w trybie SPP), napisałem (w C) prosty program pod DOS (działający pod Win95) i zakładając, że muszę wysyłać 8 bitów danych, a później jeden impuls zegara, to osiągam transfer ~1.2Mbit/s, przy czym program tylko wysyła dane na port, bez żadnych innych obliczeń.
    Jednak na chwilę obecną mam tylko uruchomiony układ DDS z wpisem szeregowym, nie równolełym...

    Jarek SWJ napisał:
    nawet na tą okazję zapisałem gdzieć na PC trochę o LPT - moge ci podesłać.

    Też pisałem program do sterowania DDS-em przez PC, ale później - ze względu na wygodę, przeszedłem na mikrokontroler... :)

    Piszesz w C? Pod DOS/Windows/inny system?

    Jarek SWJ napisał:
    Będę śledził ten wątek -)) jak znajdę jakieś ciekawe info to Ci podrzucę -)

    Ok, będę wdzięczny. Nie działa klawisz ":" (dwukropek)? ;)
  • Poziom 25  
    Dykus i jak tam postęp praz z modulacja FM dla DDS-a ??
  • Poziom 26  
    Jeśli chodzi o mnie, to ja DDSa nie miałem w ręce już kilka miesięcy. :( Niestety, brak czasu na tego typu przyjemności, a i nie zanosi się, bym w najbliższych miesiącach się tym zajął.
    Ale liczę, że ktoś to wreszcie zrobi... :) Może Ci Państwo...? ;)