Nola egin irrati digital bat DSPrekin
Irrati digitala gero eta ezagunagoa bihurtu da soinu-kalitate hobea, maiztasun-espektroaren erabilera eraginkorragoa eta abestien informazioaren metadatuak bezalako ezaugarri gehigarriak eskaintzeko duen gaitasunagatik. Irrati digitalaren garapenean funtsezko osagaietako bat Seinale Digitalaren Prozesadore (DSP) baten erabilera da. Artikulu honek DSP bat erabiliz irrati digital bat garatzeko urratsak aztertuko ditu.
Pendahuluan
DSP bat, edo Seinale Digitalaren Prozesadorea, denbora errealeko seinale digitalak prozesatzeko bereziki diseinatutako mikroprozesadore bat da. Irrati digitalaren testuinguruan, DSP batek seinale analogikoak digital bihurtzen ditu, seinale horiek prozesatzen ditu eta, azkenik, seinale digitalak berriro seinale analogiko entzungarri bihurtzen ditu.
Irrati digital bat egiteko, hainbat osagai nagusi behar dira, hots:
1. Antena: Irrati-seinaleak jasotzeko.
2. Sintonizatzailea: Nahi den irrati-maiztasuna hautatzeko.
3. DSP: Seinale digitalen prozesamendurako.
4. DAC (Digital-to-Analog Converter): Seinale digitalak berriro seinale analogiko bihurtzeko.
5. Bozgorailua edo entzungailuak: Soinua ateratzeko.
Lehen urratsa: Osagaiak hautatzea
1. Antena
Erabilitako antena jaso nahi duzun maiztasunerako egokia izan behar da. FM irratirako, normalean antena teleskopiko bat edo antena monopolo sinple bat erabiltzen da.
2. Sintonizatzailea
Sintonizatzailea erabiltzeko prest dagoen modulua edo Si4703 edo TEA5767 txipa bezalako osagaia izan daiteke. Modulu hauek normalean I2C edo SPI interfazearekin datoz, eta horrek maiztasuna mikrokontrolagailu bat erabiliz kontrolatzea errazten du.
3. DSP
DSP hautaketa da zatirik garrantzitsuena. Irrati aplikazioetan erabiltzen diren DSP ohikoenetako batzuk hauek dira:
– Texas Instruments (TI) TMS320 seriea
– Analog Devices (ADI) SHARC seriea
– STM32 seriea DSP periferikoekin
4. DAC
PCM5102 edo ES9018 bezalako DAC bat, audio-kalitate ona duten DACak, erabil daiteke seinale digitala seinale analogiko bihurtzeko.
5. Bozgorailua
Soinu garbiagoa eta ozenagoa lortzeko, bozgorailu aktiboak erabil ditzakezu edo PAM8403 bezalako anplifikadore-modulu txiki bat.
Gailuen diseinua
Bloke Eskema
1. Antena -> 2. Sintonizatzailea -> 3. DSP -> 4. DAC -> 5. Bozgorailua
Sistema honen prozesamendu nagusia DSPan dago, non seinalea antenaren bidez jasotzen den eta sintonizatzaileak hautatzen duen, gero DSPra sartzen den prozesamendu digitalerako, eta azkenik DACak seinale analogiko bihurtzen du eta bozgorailutik irteten da.
Zirkuituaren eskema
1. Antena
– Sintonizatzaile sarrera batera konektatutako antena baten diagrama sinplea.
2. Sintonizatzaile modulua
– Sintonizatzailearen eta maiztasun-kontrolerako erabiltzen den mikrokontrolagailuaren arteko interfazearen diagrama.
3. DSP
– Sarrerako seinaleak jasotzeko sintonizatzailera konektatutako DSP kableatu-diagrama eta programa igotzeko mikrokontrolagailura konektatutako DSP kableatu-diagrama.
4. DAC
– Bozgorailu batera konektatutako DSP seinale digitalaren bihurketaren diagrama.
5. Bozgorailua
– Behar izanez gero, bozgorailua anplifikadoreari konektatzeko diagrama sinplea.
Firmwarearen inplementazioa
Hardwarea osatuta dagoenean, hurrengo urratsa mikrokontrolagailuan eta DSP-an exekutatuko den firmwarea garatzea da.
Sintonizatzailea kontrolatzea
Lehenik eta behin, ziurtatu zure mikrokontrolagailuak sintonizatzailearekin komunikatu daitekeela. I2C edo SPI komunikazioa erabiltzen duten moduluetarako, I2C/SPI liburutegia zure mikrokontrolagailuan integratu beharko duzu.
TEA5767 sintonizatzaile modulua Arduinorekin kontrolatzeko kodearen adibidea:
“`cpp
besteak beste,
konfigurazio hutsa () {
Wire.begin(); // I2C hasieraketa
Serial.begin (9600);
setFrequency(101.1); // Maiztasuna 101.1MHz-ra ezarri
}
hutsune begizta () {
// ez da beharrezkoa
}
void setFrequency(float maiztasuna) {
uint16_t maiztasunaB = 4 (maiztasuna 1000000 + 225000) / 32768;
byte bufferra[5];
bufferra[0] = maiztasunaB >> 8;
bufferra[1] = maiztasunaB eta 0XFF;
bufferra[2] = 0xB0;
bufferra[3] = 0x10;
bufferra[4] = 0x00;
Wire.beginTransmission(0x60);
Wire.write(bufferra, 5);
Wire.endTransmission();
}
"`
Seinaleen prozesamendua DSPrekin
DSP programazioa konplexuagoa izan daiteke DSP motaren eta gaitasunen arabera. Adibidez, Texas Instruments DSP batekin, ziurrenik Code Composer Studio (CCS) erabiliko duzu kodea garatu eta DSPra igotzeko.
FM seinale bat demodulatzen duen DSP baten pseudokodearen adibidea:
“`cpp
void main() {
initDSP(); // DSP hasieratu
bitartean (1) {
// Irakurri sintonizatzailetik seinalea
seinaleAnalogikoa = irakurriSarreraAnalogikoa();
// Seinale digitalen prozesamendua
seinaleDigitala = analogikoToDigital(seinaleAnalogikoa);
demodulatutakoSeinalea = FM_Demodulatu(seinaleaDigitala);
// Seinale analogikora itzuli
irteeraSeinalea = digitalaAnalogikora(demodulatutakoSeinalea);
// DACera bidali
sendToDAC(irteerakoSeinalea);
}
}
"`
DAC konfiguratzen.
DSP-an prozesamendua amaitu ondoren, seinale digitala analogiko bihurtu behar da berriro DAC bat erabiliz. Konfigurazio hau normalean I2C edo SPI bidez egiten da. Ziurtatu erabiltzen duzun DAC-a DSP-tik irteerako seinale digitalarekin bateragarria dela.
PCM5102 DAC bat Raspberry Pi batekin kontrolatzeko kode adibide sinplea:
"`python"
inportatu smbus
bus = smbus.SMBus(1)
helbidea = 0x4C
def bolumena_ezarri(bolumena):
bus.write_byte_data(helbidea, 0x00, bolumena)
Ezarri bolumena maila jakin batean, adibidez 0x7F
ezarri_bolumena(127)
"`
Probak eta arazketa
Zirkuitu osoa konektatuta eta firmwarea kargatu ondoren, hurrengo urratsa osagai guztiak behar bezala funtzionatzen dutela ziurtatzeko probak egitea da.
Proba aholkuak
1. Egin proba inkrementalak: Probatu osagai bakoitza bereizita konbinatu aurretik.
2. Osziloskopio bat erabili: Zirkuituko hainbat puntutan seinalearen uhin-forma behatzeko.
3. Arazketa inkrementala: Arazoren bat badago, isolatu arazoa HF osagaitik DSPra joan aurretik.
4. Erreparatu interferentziei: Antenaren posizioak eta babesak seinalearen kalitatea eragin dezakete.
Azkenik, osagai guztiak behar bezala funtzionatzen badute, irrati digitala entzun dezakezu soinu-kalitate garbiarekin eraiki duzun sistematik.
Ondorioa
DSP duen irrati digital bat eraikitzeak seinale digitalen hardwarearen eta programazioaren ulermen sendoa eskatzen du. Plangintza zainduarekin eta osagaien aukeraketa egokiarekin, kalitate handiko irrati digital bat sor dezakezu. DSP-k malgutasuna eskaintzen du seinaleen prozesamenduan eta metodo analogiko tradizionalekin posible ez diren hainbat funtzio gehigarri ahalbidetzen ditu. Ondo pasa zure irrati digitala eraikitzen eta gozatu zure lanaren fruituez!