DISEÑAR UN GENERADOR DE SEÑALES SINUSOIDALES USANDO MÉTODO DE TABLAS
Enviado por Luis Miguel • 11 de Diciembre de 2018 • Práctica o problema • 1.193 Palabras (5 Páginas) • 138 Visitas
DISEÑAR UN GENERADOR DE SEÑALES SINUSOIDALES USANDO MÉTODO DE TABLAS
- Se desea diseñar un generador de señales sinusoidales usando el método de tablas.
- Se desea implementar el algoritmo en la tarjeta de desarrollo TMS320C6713.
- La frecuencia de la señal sinusoidal analógica debe ser de 1200 Hz.
- La amplitud de la señal debe ser de 0.5 Volts.
- La frecuencia del convertidor D/A (CODEC AIC23) debe ser de 8000 muestras por segundo.
Objetivo:
- Calcule los valores de la tabla de datos en Matlab.
- Escriba el código en ANSI C.
clear all; close all; clc;
N=20; % puntos por periodo
k=3; %número de ciclos por periodo
B=11585; %factor de proporcionalidad
f0=1200; %frecuencia de la señal analogica
fs=8000; %frecuencia de muestreo
y=[0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0]; %inicialización delvector y
for i=0:N-1
y(i+1,1)=B*cos(2*pi*(k/N)*i) %a cada componente del vector se le asigna un valor de la tablas mediante
un contador
end
//Genera un tono a partir de una tabla
//Fuente: DSP Applications ussing C
//Rulph Chassaing
//Modificado: Héctor Santiago R.
#include
#include
#include
#include "DSK6713_AIC23.h" // Archivo de soporte del codec-DSK
Uint32 fs=DSK6713_AIC23_FREQ_8KHZ; // Frecuencia de muestreo
#define N_puntos (short)20 // Tamaño de la tabla y tabla de datos
short tabla_coseno[N_puntos]={
11585,6809.4921,-3579.96187,-11017.9897,-9372.4618,0,9372.4618,11017.9897,
3579.9618,-6809.4921,-11585,-6809.4921,3579.9618,11017.9897,9372.4618,
0,-9372.4618,-11017.9897,-3579.9618,6809.4921
}; // datos generados por Matlab
int i=0; // indice para la tabla de la senoidal (empieza en cero)
union {short canal[2]; Uint32 estereo;} salida; // Unión para envío de datos
...