ELEN : Traitement des signaux audio

Documents pareils
Projet audio. Analyse des Signaux ELE2700

MICROINFORMATIQUE NOTE D APPLICATION 1 (REV. 2011) ARITHMETIQUE EN ASSEMBLEUR ET EN C

Expérience 3 Formats de signalisation binaire

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

Représentation des Nombres

1 Architecture du cœur ARM Cortex M3. Le cœur ARM Cortex M3 sera présenté en classe à partir des éléments suivants :

Mesures de temps de propagation de groupe sur convertisseurs de fréquence sans accès aux OL

ÉCOLE POLYTECHNIQUE DE MONTRÉAL. Département de Génie Électrique. La technologie de TEXAS INSTRUMENTS DSP pour le cours Analyse des Signaux ELE2700

21 mars Simulations et Méthodes de Monte Carlo. DADI Charles-Abner. Objectifs et intérêt de ce T.E.R. Générer l'aléatoire.

INTRODUCTION A L ELECTRONIQUE NUMERIQUE ECHANTILLONNAGE ET QUANTIFICATION I. ARCHITECTURE DE L ELECRONIQUE NUMERIQUE

Python - introduction à la programmation et calcul scientifique

Enregistrement et transformation du son. S. Natkin Novembre 2001

LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN

Rappels d architecture

Bases de programmation. Cours 5. Structurer les données

Projet de Traitement du Signal Segmentation d images SAR

Filtres passe-bas. On utilise les filtres passe-bas pour réduire l amplitude des composantes de fréquences supérieures à la celle de la coupure.

Traitement du signal avec Scilab : la transformée de Fourier discrète

Logiciel Libre Cours 3 Fondements: Génie Logiciel

Structure d un programme et Compilation Notions de classe et d objet Syntaxe

ISO/CEI NORME INTERNATIONALE

5.2 Théorème/Transformée de Fourier a) Théorème

ALGORITHMIQUE ET PROGRAMMATION En C

Architecture matérielle des systèmes informatiques

Signaux numériques : Multiplexage temporel : TDM

J AUVRAY Systèmes Electroniques TRANSMISSION DES SIGNAUX NUMERIQUES : SIGNAUX EN BANDE DE BASE

Limitations of the Playstation 3 for High Performance Cluster Computing

Représentation d un nombre en machine, erreurs d arrondis

Traitement du signal avec Scilab : transmission numérique en bande de base

SCL LOGICIEL DE CONTROL

DU BINAIRE AU MICROPROCESSEUR - D ANGELIS CIRCUITS CONFIGURABLES NOTION DE PROGRAMMATION

Dispositif e-learning déployé sur les postes de travail

CHAPITRE V. Théorie de l échantillonnage et de la quantification

LES DIFFÉRENTS FORMATS AUDIO NUMÉRIQUES

Instructions relatives à l installation et à la suppression des pilotes d imprimante PostScript et PCL sous Windows, version 8

But du papier : Paramétrer WSUS pour récupérer les mises à jour et administrer le serveur WSUS

Atelier C TIA Portal CTIA04 : Programmation des automates S7-300 Opérations numériques

Utiliser des fonctions complexes

Cours Informatique Master STEP

Conception de circuits numériques et architecture des ordinateurs

ÉdIteur officiel et fournisseur de ServIceS professionnels du LogIcIeL open Source ScILab

GELE5222 Chapitre 9 : Antennes microruban

Transmission d informations sur le réseau électrique

IV- Comment fonctionne un ordinateur?

Calcul Formel et Numérique, Partie I

Utilisation de Sarbacane 3 Sarbacane Software

Donner les limites de validité de la relation obtenue.

Architecture des ordinateurs

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

Architecture des Ordinateurs. Partie II:

Rapport de stage. Implantation en virgule fixe d un codeur audio. Romain Serizel

Descriptif de Kelio Protect

UE Programmation Impérative Licence 2ème Année

Corrigé des TD 1 à 5

MATLAB : COMMANDES DE BASE. Note : lorsqu applicable, l équivalent en langage C est indiqué entre les délimiteurs /* */.

TP Modulation Démodulation BPSK

LABO PROJET : IMPLEMENTATION D UN MODEM ADSL SOUS MATLAB

Variateurs de vitesse

Traitement bas-niveau

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

Licence Sciences et Technologies Examen janvier 2010


Pierre De Dobbeleer. Spécialiste Project Management, Electronique, Réseaux et télécommunications

QUESTION 1 {2 points}

Copyright Arsys Internet E.U.R.L. Arsys Backup Online. Guide de l utilisateur

ALGORITHMIQUE II NOTION DE COMPLEXITE. SMI AlgoII

Parallélisme et Répartition

Architecture de l ordinateur

Conception Electronique (CEL) Prof. Maurizio Tognolini

3D Lab. NANO TRANSPORT & NANO PLAYER. Lecteurs réseaux AUDIOPHILE - PROFESSIONNEL. PCM & DSD natif. UPnP DNLA - Bit Perfect media device

Documentation utilisateur "OK-MARCHE" Historique des modifications. 3.0 Mise à jour complète suite à version OK-MARCHE V2.2. de marchés publics

Système ASC unitaire triphasé. PowerScale kva Maximisez votre disponibilité avec PowerScale

Plan. 5 Actualisation. 7 Investissement. 2 Calcul du taux d intérêt 3 Taux équivalent 4 Placement à versements fixes.

Systèmes de transmission

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

QUEL HEBERGEMENT POUR MON SITE WEB?

La mémoire. Un ordinateur. L'octet. Le bit

Communications numériques

Architecture des ordinateurs. Environnement Windows : sauvegarde

Calcul de développements de Puiseux et application au calcul du groupe de monodromie d'une courbe algébrique plane

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

Tuto pour connecter une source RVB RGB à un moniteur Commodore / Amiga

Chapitre 1 I:\ Soyez courageux!

Limites finies en un point

Introduction à l informatique en BCPST

Monitoring continu et gestion optimale des performances énergétiques des bâtiments

Compression Compression par dictionnaires

Pi, poker et informatique ; une «épuisante» alliance pour des projets en mathématiques

WebSpy Analyzer Giga 2.1 Guide de démarrage

Sujet proposé par Yves M. LEROY. Cet examen se compose d un exercice et de deux problèmes. Ces trois parties sont indépendantes.

G.P. DNS02 Septembre Réfraction...1 I.Préliminaires...1 II.Première partie...1 III.Deuxième partie...3. Réfraction

SINE QUA NON. Découverte et Prise en main du logiciel Utilisation de bases

Ecole Centrale d Electronique VA «Réseaux haut débit et multimédia» Novembre 2009

Quantification Scalaire et Prédictive

Introduction à l informatique temps réel Pierre-Yves Duval (cppm)

Programmation en langage C d un µcontrôleur PIC à l aide du compilateur C-CCS Sommaire

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

WinBooks Logistics 5.0

Transcription:

ELEN0019-1 : Traitement des signaux audio Institut Montefiore Université de Liège Belgique 15 février 2013 ELEN0019-1 - Traitement des signaux audio 1

Informations Contact : josmalsky@ulg.ac.be Page du cours : http ://www.montefiore.ulg.ac.be/ josmalskyj/dsp.php ELEN0019-1 - Traitement des signaux audio 2

Outline 1 Filtres Windowed-Sync : Théorie 2 Design du filtre 3 Réalisation dans Matlab 4 Architecture DSP : Rappels 5 Programme standard 6 Réalisation du filtre Windowed-Sync sur DSP ELEN0019-1 - Traitement des signaux audio 3

Filtres Windowed-Sync Filtres utilisés pour séparer une bande de fréquence d une autre. Ils sont très stables et performants, mais lents à exécuter si la longueur du filtre est trop importante. Filtre passe-bas : Filtre passe-haut : h LPI [n] = sin(2πf cn) nπ h HPI [n] = sin(2πf cn) nπ ELEN0019-1 - Traitement des signaux audio 4

Filtre passe-bas Les réponses en fréquence et impulsionnelle d un filtre passe-bas idéal sont données ci-dessous. Filtre non réalisable : non causal et de longueur infinie. ELEN0019-1 - Traitement des signaux audio 5

Filtre passe-bas Pour réaliser le filtre en pratique, il faut le tronquer à M + 1 points et le décaler de façon à avoir des indices positifs. La réponse en fréquence n est pas idéale : beaucoup de ripple. ELEN0019-1 - Traitement des signaux audio 6

Filtre passe-bas Pour corriger la réponse en fréquence, on fenêtre le filtre par une fenêtre de Blackman ou de Hamming. Fenêtre de Blackman : Fenêtre de Hamming : w [n] = 0.54 0.46cos(2πn/M) w [n] = 0.42 0.5cos(2πn/M) + 0.08cos(4πn/M) ELEN0019-1 - Traitement des signaux audio 7

Filtre passe-bas fenêtré ELEN0019-1 - Traitement des signaux audio 8

Blackman vs Hamming Le choix entre les fenêtres dépend de l application : la fenêtre de Hamming permet une pente plus abrupte tandis que la fenêtre de Blackman offre des ondulations résiduelles plus faibles. ELEN0019-1 - Traitement des signaux audio 9

Outline 1 Filtres Windowed-Sync : Théorie 2 Design du filtre 3 Réalisation dans Matlab 4 Architecture DSP : Rappels 5 Programme standard 6 Réalisation du filtre Windowed-Sync sur DSP ELEN0019-1 - Traitement des signaux audio 10

Réalisation du filtre Le filtre requiert deux paramètres : Fréquence de coupure f c [0, 0.5] : Fraction de la fréquence d échantillonnage Longueur du filtre M : Conditionne la largeur de bande de transition M 4 LB LB est la largeur de la bande de transition, exprimée comme une fraction de la fréquence d échantillonnage : LB [0, 0.5] ELEN0019-1 - Traitement des signaux audio 11

Réalisation du filtre Les expressions h LPI [n] et h HPI [n] présentent des singularités à l origine. On a en réalité h LPI [n] = 2f c h HPI [n] = 1 2f c ELEN0019-1 - Traitement des signaux audio 12

Réalisation du filtre L expression finale du filtre tronqué et fenêtré est donnée ci-dessous. h[n] = sin(2πf c(n M/2)) n M 2 [ 0.42 0.5cos( 2πn ] M ) + 0.08cos(4πn M ) On retrouve dans cette expression l équation du filtre passe-bas tronqué et le fenêtrage de Blackman. ELEN0019-1 - Traitement des signaux audio 13

Outline 1 Filtres Windowed-Sync : Théorie 2 Design du filtre 3 Réalisation dans Matlab 4 Architecture DSP : Rappels 5 Programme standard 6 Réalisation du filtre Windowed-Sync sur DSP ELEN0019-1 - Traitement des signaux audio 14

Implémentation dans Matlab Exemple : Filtre passe-haut Fréquence de coupure : f c = 10 khz Largeur de la bande de transition : 40% de la bande totale Fréquence d échantillonnage : 48 khz ELEN0019-1 - Traitement des signaux audio 15

Implémentation dans Matlab Détermination de la longueur du filtre : M = 4/0.4 = 10. Le filtre aura M + 1 = 11 points. Réponse impulsionnelle sous Matlab (slide suivant). Fenêtrer le signal en le multipliant par la fenêtre adéquate. ELEN0019-1 - Traitement des signaux audio 16

Réponse impulsionnelle sous Matlab n = [0 : 10]; h = -sin(2 * pi * 10000/48000 * (n-5))./ (pi * (n-5)); >> Warning: Divide by zero. h(6) = 1-2 * (10000/48000); f = [0:100:24000]; H = freqz(h,1,f,48000); subplot(211); plot(n,h); title( Réponse impulsionnelle ); subplot(212); plot(f,abs(h)); title( Réponse en fréquence ); ELEN0019-1 - Traitement des signaux audio 17

Outline 1 Filtres Windowed-Sync : Théorie 2 Design du filtre 3 Réalisation dans Matlab 4 Architecture DSP : Rappels 5 Programme standard 6 Réalisation du filtre Windowed-Sync sur DSP ELEN0019-1 - Traitement des signaux audio 18

Mémoire du DSP Le DSP est constitué de 3 zones mémoires : Mémoire P : Contient le code du programme et des interruptions. Mémoires X et Y : Stockage des données. Les deux zones sont connectées à un bus dédié, permettant au DSP d exécuter la plupart des opérations en un cycle. Il faut utiliser la mémoire de façon optimale pour réduire le nombre de cycles! ELEN0019-1 - Traitement des signaux audio 19

Opérations arithmétiques : ALU La plupart des instructions utilisent un ou deux des registres x 0, x 1, y 0, y 1 en entrée et le résultat est stocké dans un des accumulateurs a ou b. Deux déplacements mémoire peuvent être effectués en parallèle avec les opérations de l ALU. Ces opérations mémoire consistent en un déplacement mémoire entre un registre X/Y et un emplacement en mémoire ou inversement. ELEN0019-1 - Traitement des signaux audio 20

Opérations arithmétiques : ALU ELEN0019-1 - Traitement des signaux audio 21

Opérations arithmétiques : ALU ELEN0019-1 - Traitement des signaux audio 22

Modes d adressage : AGU AGU = Address Generation Unit. Il fournit divers modes d adressage requis par les algorithmes DSP : Adressage linéaire Adressage modulo pour buffers circulaires Adressage bit-reverse (FFT) L AGU permet un adressage direct ou indirect. Il est divisé en deux moitiés, chacune ayant un ALU permettant des opérations arithmétiques sur les adresse mémoire (pré-incrémentation, post-incrémentation, etc.). Il y a au total 8 registres indépendants (R), 8 registres d offset (N) et 8 registres de modification (M) qui permettent de sélectionner le mode d adressage. Lecture conseillée : Exemple 2 du Tutorial Motorola. ELEN0019-1 - Traitement des signaux audio 23

AGU ELEN0019-1 - Traitement des signaux audio 24

Outline 1 Filtres Windowed-Sync : Théorie 2 Design du filtre 3 Réalisation dans Matlab 4 Architecture DSP : Rappels 5 Programme standard 6 Réalisation du filtre Windowed-Sync sur DSP ELEN0019-1 - Traitement des signaux audio 25

Compilation et exécution Le code source est écrit en langage assembleur. Le code est ensuite compilé à l aide du compilateur asm56300 fourni par Motorola. La commande de compilation est la suivante : asm56300 -a -l -b code.asm Elle produit en sortie un fichier CLD qui peut être exécuté par le DSP. Tout programme peut être écrit à partir du code modèle fourni : pass.asm. ELEN0019-1 - Traitement des signaux audio 26

Pass.asm Ce code modèle contient 5 dépendances qu il est nécessaire d inclure pour exécuter votre code. Les échantillons de gauche et de droite sont réceptionnés dans les accumulateurs a et b. Après traitement, il faut renvoyer les échantillons de sortie dans ces deux accumulateurs. ELEN0019-1 - Traitement des signaux audio 27

Outline 1 Filtres Windowed-Sync : Théorie 2 Design du filtre 3 Réalisation dans Matlab 4 Architecture DSP : Rappels 5 Programme standard 6 Réalisation du filtre Windowed-Sync sur DSP ELEN0019-1 - Traitement des signaux audio 28

Implémentation sur DSP Réalisation d un filtre passe-haut de fréquence centrale f c = 10 khz. Il faut récupérer les coefficients du filtre calculés par Matlab (voir slides précédents). Les coefficients doivent être codés directement dans le code source ASM du filtre. Ils doivent être placés dans une zone mémoire spécifique pour être accessibles lors de l opération de convolution. Le programme qui implémente le filtre applique la formule de la convolution : y [n] = N h [k] x [n k] k=0 où h correspond à la réponse impulsionnelle, donc aux coefficients obtenus dans Matlab. ELEN0019-1 - Traitement des signaux audio 29

Organisation de la mémoire ELEN0019-1 - Traitement des signaux audio 30