Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
AD9951
#1
Pozdrav,
evo resio sam da predstavim kratko cime se igram poslednjih par veceri. U pitanju je DDS generator realizovan uz pomoc AD9951 chipa. Plocicu sa ADom imam odavno, ono cime se sada bavim je softwer. Naime hteo sam da  dopisem deo za sweep sa namerom da malo automatizujem "snimanje"  k-ka nekih filtera i pojacavaca u kucnim uslovima ali su mi se onda otvorile oci da se tu moze ubaciti i FM modulacija npr. Jer iako AD ima SPI interface, max frekvencija CLKa je 25MHz a potrebno je samo nekoliko bajtova za promenu frekvencije. To ostavlja nekih 300++KHz sample rate-a za modulisuci signal, sto ce reci cini mi se da moze da stane ceo stereo FM sa sve RDSom bez da se puno gura!!! 

Sta ce od toga moci/sta cu ja znati da uradim videcemo u vremenu koje dolazi. Meni je samo fascinantno kako se FM modulacija, bar nacelno lako implementira u C-u npr. Kao u kljigama u jednom redu! Mnogo iskusnije od varikap doida Smile

Sada sam jos uvek daleko od celog MPX signala i KHz-ih frekvencija, koristim atmegu pa se zadovoljavam sa 10KHz sample rateom. Okacicu veceras kako zvuci i kako izgleda spektar na 100MHz signala FM modulisanog sa 1KHz uz pomoc "softwerskog DDSa" iz atmege328 sa 10KHz clockom.



Evo par slicica samog sklopa. Ostatak je iz proslih vremena i samplova... Inace cena AD-a nije bas mala, ali nije ni bezobrazna. Ima ga na aliju za oko 30tak $ cini mi se.


Attached Files Thumbnail(s)

Reply
#2


Evo kratakog videa kako "sig. generator" trenutno izgleda. Signal sam hvatao preko antene (RTL stick) tako da su povremene smetnje ko zna od cega.

 Modulisuci signal je iz softwerskod DDS-a semplovan na 10KHz, ali naravno nema mesta tj vremena za bilo kakav antialiasing filter te se image jasno vidi u audio spektru. Posebno je vidljivo u trenutku kada radi sweep jer je u pitanju SAW signal (testera je sa gomilom harmonika pa se naslucuje i sin(x)/x  oko 10KHz...)

AM modulaciju sam implementirao za probu, o5 digitalno, kako je moglo... DDS ima registre za skaliranje, ali ne posle DAC-a tj da kazem u RF domenu, vec deluje na "brojeve" pre DAC-a. pravi digitalni volume Wink Kada se pusti 100% modulacija, to ne lici ni na sta - "prsti" svuda. Ovaj chip nije za takvu primenu. Nista bez I/Q... Msilim naravno moglo bi u analognom domenu, modulisati Iref dac-a, ali to neki drugi put mozda...
Reply
#3
Sto bi rekao moj bivsi sef: "...sve ti to postoji negde u knjigama od pre 70 godina. Pametni ljudi su svasta probavali..."

 Google Search i posle 10 sekundi iskopam link na nekom ruskom forumu: bas ovo sto sam ja nameravao da probam. Tako sam dobio ubrzanje od 10ge -Smile

Moj izazov ce biti da dodam RDS servis ako budem znao/mogao. Otuda ovaj subcarrier na 57KHz.

Reply
#4
Nisam ulazio dublje u problematiku RDS-a ali koliko vidim to nece moci tako prosto da odradi, ima tu podosta matematike:
http://wiki.opendigitalradio.org/FM_RDS_...g_gnuradio

Ja bih ti preporucio da krenes prvo na PC platformi to da probas da implementiras, treba ce ti verovatno neka HD Audio kartica (192ksps).
Kada to poteras onta probaj neku skromniju platformu poput RPi 2 ako moze na tome da radi (dodas recimo RaspyPlay HD DAC).
Nece moci to bez DSP-a ili nekog snaznijeg procesora da se odradi, moras i da imas i neku digitalnu konekciju ka tom RDS koderu, makar serisku ili jos bolje LAN/WiFi.
Naravno u pitanju je I/Q modulacija koju kada dobijes iz DAC-a "umixas" u osnovni Audio signal i to posle sve ide u exciter.
Reply
#5
Druzim se ja sa tim RDSovima vec 10 godina. Pokrenuo sam ga  i na Attiny2313 cak, sve digitalno :Smile


Nije bas toliko crno ako se gro stvari odradi u compile tajmu uz pomoc matlaba npr..

Ovo sto radim je najvise iz razloga da provalim malo bolje kako radi STM32f4 mcu. Nije da ga nisam koristio do sada i za posao, ali to je bilo uz pomoc microC i visual tft-a. To je neka puno prostija prica za primenu. Imam brzo gotov proizvod, ali potpuno neoptimalno korisceno... + sto pojma nemam sta se tu dole desava Smile

Projekat koji sam pronasao na ruskom forumu i sa kojim se igram  koristi USB audio class, tako da iz PC-ja izlazi dig audo i celo procesiranje  (fir filteri - LP filtriranje na 15KHz, formiranje stereo mpx signala, a evo ako bog da i rds) je uz pomoc STM32f407 procesora.

Nije to slabasno uopste ima tu mesa cini mi se...
Reply
#6
Samo kratko:



Ima jos posla, ali vidi se da moze i da ce raditi valjano. Ako me ne napusti entuzijazam...
Reply
#7



Ova igrarija oko AD9951 i STM32 discovery plocice mi je postala solidna zaludjica. Za sada sam uspeo da spakujem u firmware:

  * 50uS preemphasis i 15KHz low pass filter realizovani kao jedan FIR filter sa 128 tapova
  * audio multiband kompresor (4 pojasa, podesive crossover frequencije, th, ratio, attack/release time i sl..)
  * nekoliko parametarskih equ (moze do 10 ukupno trenutno) realizovani kao IIR filteri
  * neki algoritam za bass boost. dosta ovih DSP audio obrada sam preuzeo iz rockbox projekta (rockbox.org...)
  * RDS
  * MPX koder sa clipperom
  * oversampler realizovan kao FIR interpolator ili u drugoj varijanti koristim polinomijalnu interpolaciju, konkretno hermitte..
  * audio dolazi sa i2S  input porta, ili direktno kao USB audio device

U stvari discovery plocka se prijavljuje na windozu kao composite device sa audio delom i virtual serial portom. To sve u principu radi ali ima bagica samo tako. Kako meni ovo sluzi za igranje i ucenje programiranja (jer ja sam u osnovi hardweras, ali posto publika hoce sve vise sw, moramo i to da sviramo, sta ces...) pitanje je da li cu se i kada ispetljati.

Verovatno cu pokusati kanije i da  spustim neki kod za DAB emitovanje (vec ima nekih projekata po netu) samo da zamenim Ad9951 za neki dupli IQ DDS..

Ovaj M4 je stvarno mocan MCU za audio obradu. Mislim da bi cak i neka primena u manje vise pravom hifiju mogla  da se pronadje (npr aktivne kutije, skretnice; nesto kao miniDSP fazon..)
Reply
#8
Ovo je odlicno, svaka cast na trudu.

Mogao bi da postavis source ako zelis da ga podelis sa nama, mozda na GITHub ili tako nesto.

Interesuju me te DSP rutine kako i sta si radio.

Znam da ti mozda nije sad zgodno da objavis source kako kazes zbog bugica, ali nije to nista strasno, ni ostali SW koji skidamo nije bezgresan Wink
Open source upravo sluzi tome da svi po malo to gledaju i cackaju pa mozda ti neko i resi neki bug ...
Reply
#9
Pa nemam puno sta da krijem iskreno.  Postavicu skorije, u stvari vec sada postoji osnovni deo na GITHub-u  kod coveka koji je ovo zapoceo:

https://github.com/romanetz/USB_STM32F4

Vidim da je comitovao skorije, u stgvari prica o ovomprojektu se vodi na ruskom forumu http://vrtp.ru/index.php?showtopic=23730&st=0, ja sam upao kao padobranac negde oko 7-8 strane Smile Tu sam shaerovao moj deo oko RDSa. To je sad sastavni deo projekta

"Moji" DSPovi su sa rockbox.org. Ali i ja cu moju varijantu shaerovati uskoro.


EDIT:
evo nasao sam neku raniju moju verziju na google drajvu. Ostatak je na racunaru kuci.

https://drive.google.com/file/d/0B6-eRRW...sp=sharing
Reply
#10
Ugrabio sam priliku da premerim igrackicu na spectrumu. Video sam manje vise ocekivan rezultat; imidzi na 384KHz (F sample ka DDS-u) i to je to... Zvuk je naravno do ja*a, a spectrum je takav kako fizika nalaze.

Nisam imao vremena za detaljnije ispitivanje i proucavanje, mozda neki drugi put...


1KHz sinus left and right (+19khz pilot)

[Image: 2gxlbur.png]

dig zero na ulazu (tj carrier modulisan samo sa samo 19khz pilotom)

[Image: w05a1j.png]

ista slika malo veci span

[Image: 28cj7mr.jpg]

inace super je igracka i ovaj rigol za relativno male pare...
Reply
#11
Samo da proverim, ti si AD9951 direktno modulisao iz kontrolera, sa sve pilotom, audio signalom i RDS?

Sa I/Q DDS mozes veci BW baseband signala da ostvaris, ne znam koliko treba za DAB ali mozes jos bolje perfomanse da ostvaris, i vecu dinamiku i nizi shum i manju IMD. Samo uzmes dobar dupli DAC i izlaz teras u IF (I/Q) mixer i to je to sto se modulatora tice, sve ostalo je u SW-u.

A Rigolce ti je super, vrlo korisna sprava … Koji model je u pitanju?
Reply
#12
Da direktno iz stm32f4 one osnovne discovery plocice, npr  neka blok semica: sa jedne strane ulazi audio u discovery preko USB  porta,  izlaz ide u AD9951 i dalje  u antenu Smile

Ne znam kako bi isla wideband FM modulacija preko I/Q? Daj boze da sam to nekada i znao, sada sam definitivno puno toga pozaboravljao... Mislis da bi imao neke prednosti?

Realno MCU je tu negde gotovo zagusen oko 400KHz. Tu je negde i limit SPI clk-a za AD9951 jer moram da posaljem 5bajtova svakih 1/384Khz vremena. Pokusavao sam i na 768KHz  (naravno bez svih "DSPova" - samo osnovna obrada: MPX... i nesto radi u smislu "hvatam ga na radiju" ali je demodulisan signal prepun suma.

 Ko zna sta se tu desava - verovatno ima svega i svacega. Tesko da i SPI clk moze da trci na 54 ili koliko vec bese MHZ kroz dugacke zice :Smile A i to je skoro duplo vise od onoga sto puise u datasheetu za AD9951 :Smile
Premericu nekada ponovo kad budem mogao da ugrabim priliku



Inace Rigol je DSA815 i ona opcija sa treking generatorom.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)