Мазмуну:

Autotune: 7 кадам
Autotune: 7 кадам

Video: Autotune: 7 кадам

Video: Autotune: 7 кадам
Video: 'Main Hoon Hero Tera' VIDEO Song - Salman Khan | Amaal Mallik | Hero | T-Series 2024, Июль
Anonim
Унаам тууралоо
Унаам тууралоо

Автотюнаштыруу программасы жок

Notre équipe va vous présenter la réalisation de ce projet. Notre équipe est compée de 3 eélèves ingénieurs de Polytech Sorbonne en EISE4 (4ème année du cycle ingénieur en electronique informatique systèmes embarqués).

Ноутбуктар микрофон менен жабдылган жок, жана FFT менен компьютерди өчүрүп салыңыз. Il sera мүмкүн болгон өзгөрткүч ле уулу аудио comme ле көлөмү жана créer un echo.

C'est parti pour les explications !!

1 -кадам: Composants Utilisés

  • Carto DEO-Nano-SoC
  • Batterie 2 чыгаруу 5V2A
  • Микро
  • Haut Parleur 8 Ом
  • Регулятор: MAX660
  • Capteur IR: GP2Y0E02A
  • Ampli Аудио: LM386N-1/NOPB
  • DAC: MCP4821-E/P
  • Диод: 1N4148
  • Транзит: LND150N3-G / N-FET
  • 2 AOP: TL081C
  • Каршылыктар
  • Конденсаторлор
  • Wifi: ESP8266EX
  • 4 которуштуруу
  • 3 Leds de couleurs

2 -кадам: Архитектура

Архитектура
Архитектура

Voici ci-dessus notre schéma bloc représentant l'architecture de notre projet Autotune.

Comme vous pouvez le voir, notre projet va pouvoir capter un son à l'aide du micro dont le signal analogique capté sera converti en un signal numérique dont l'ADC est intégré dans la carte FPGA. Puis le signal sera modifié selon nos effets choisis à l'aide d'un capteur de proximité et des switch. Белгилей кетчү нерсе, сигналдын модернизациясы картаны кайра калыбына келтирүү жана аналогдун аналоги менен сера transmise à travers le haut parleur.

3 -кадам: Partie Analogique

Partie Analogique
Partie Analogique
Partie Analogique
Partie Analogique
Partie Analogique
Partie Analogique

Notre partie analogie est compée de 2 circuit:

Баштапкы схема микробитизациядан кийин, FPGA CAN де ла карталык CAN сериясында, компенсациянын күчөтүлүшүндө жана андан кийин фильтрдин пассивдүүлүгүндө сигналдарды калыбына келтирүү.

Ачык схема боюнча сиз өзүңүздү башкара аласыз, бул жерде FPGA, DAC, dise diviseur де тирешүү жана анын күчөткүч аудиосу.

Документтердин тизмеси -5V үчүн композиторлорго жардам бериңиз.

4 -кадам: таасирдүү PCBлер

Impression Des PCBs
Impression Des PCBs
Impression Des PCBs
Impression Des PCBs
Impression Des PCBs
Impression Des PCBs

Maintenant, nous allons créer no PCB afin de les impimer et de les relier!

Жөнөкөй логистика Alitum, nous avons pu creer deux PCBs, c’est à dire la partie micro et haut parleur. Voici le сайтынын корреспонденти Altium qui peut certainement vous aider!

5 -кадам: Partie Numérique

Partie Numérique
Partie Numérique

PCB'лердин жардамы менен сиз FPGAнын карталарын колдоно аласыз!

Парте номериңизди, кодуңузду киргизиңиз. Качан, жөнгө салуу боюнча сигнал сигналды өзгөртүү жана өзгөртүү боюнча DAC en spi. Wifi deuxième côté, wifi боюнча эсептөөлөр боюнча. Cette séparation permet d'éviter les ralentissements sur la première partie.

On Qsys et quartus pour brancher le HPS avec les différents Components. IP SPI эскертмелерин колдонуу боюнча, IP UART менен баарлашууну баштоо керек.

6 -кадам: Le Code

Voici le lien où nous avons récuperé le code pour faire la fft.

Колдонуу боюнча fft калкуляторун төгүңүз:

// Création de la configuration et des buffers in and out pour s (t) et S (f) const kiss_fft_cfg config = kiss_fft_alloc (NFFT, 0, NULL, NULL);

kiss_fft_cpx*in = (kiss_fft_cpx*) malloc (NFFT*sizeof (kiss_fft_cpx)); kiss_fft_cpx*out = (kiss_fft_cpx*) malloc (NFFT*sizeof (kiss_fft_cpx));

үчүн (j = 0; j <NFFT; j ++) {Мааниси = *h2p_lw_adc_addr; // recupère la valeur provenant du pcb du microin [j].r = Мааниси-2000.0; // пенсияга чыгуу боюнча (c = valeurfor) (i = 0; i <2100; i ++) {} // барат un temps bien précis pour avoir une fréquence d’échantillonnage connue}

// Эсептөө де FFT depuis in versus outkiss_fft (config, in, out); bzero (C_val, 110); // remet à zero le tableau qui nous sert de buffer que l'on va envoyer par wififor (t = 0; t <(NFFT/4); t ++) {// limiter la taille du buffer on limite la sortie de la fft à des valeurs entre 0 et 9 tmp_log = 20*(log (abs (out [t].r/1000.0))))*9;

tmp_log = tmp_log/50; if (tmp_log <0) {tmp_log = 0; } if (tmp_log> 9) {tmp_log = 9; } sprintf (tmp_val, "%d", tmp_log); strcat (C_val, tmp_val); // ajoute au buffer la nouvelle valeur

} send_wifir (C_val); // wifi'ге байланыштуу буфер буфери боюнча

fonction wifir жөнөтүү:

жараксыз send_wifir (char* com_AT) {int num, z; for (z = 0; z <22000000; z ++) {} for (num = 0; num <(int) strlen (com_AT); num ++) { *(h2p_lw_rs232_addr) = com_AT [num]; }}

Ла код картасын колдонуу үчүн, баштапкы кодду колдонуңуз:

send_wifi ("AT+RST / r / n"); // demande de reset à la cartesleep (3); // катышуу resetsend_wifi ("AT+CWMODE = 3 / n / r"); // режимди тандоо la cartesend_wifi ("AT+CWJAP = \" wifiNom / ", \" MotDePasse / "\ r / n"); // lui demande de se connecter au wifisleep (15); // катышуу боюнча connectesend_wifi ("AT+CIPSTART = \" UDP / ", \" 192.168.43.110 / ", 32003 / r / n"); // On lui requeste de connecter en udp avec le servur ouvert sur un autre ordinateursleep (3); // join la connexionsend_wifi ("AT+CIPMODE = 1 / r / n"); // on met met en mode envoie en continueleep (3); send_wifi ("AT+CIPSEND / r / n"); // берүү башталат

wifi жөнөтүү функциясы:

void send_wifi (char * com_AT) {int num, z; for (num = 0; num <(int) strlen (com_AT); num ++) { * (h2p_lw_rs232_addr) = com_AT [num]; үчүн (z = 0; z <2500000; z ++) {}}}

Кызматтын коду:

affichage de la fft:

int i, j, Мааниси = 0; система ("ачык");

for (i = 0; i <41; i ++) {if (i <40) {for (j = 0; j <BUFSIZE; j ++) {if (table [j]*4> (40 - i)) {if (стол [j]*4> 35) printf (КЫЗЫЛ "|" КАЙРА ЖӨНДӨӨ); else if (стол [j]*4> 28) printf (L_RED "|" КАЙТА ЖӨНДӨӨ); else if (table [j]*4> 21) printf (YEL "|" RESET); else if (стол [j]*4> 14) printf (L_YEL "|" КАЙТА ЖӨНДӨӨ); else if (стол [j]*4> 7) printf (L_GRN "|" КАЙТА ЖӨНДӨӨ); else printf (GRN "|" КАЙРА ЖӨНДӨӨ); } else printf (""); } printf ("\ n"); } else {printf ("0Hz 2.5Hz 5Hz 7.5kHz 10kHz / n"); /*үчүн (j = 0; j <(BUFSIZE/2); j ++)

Сунушталууда: