lenguaje c
1) La primera actividad consistirá en implementar una función en Matlab que genere un vector correspondiente a la secuencia x[n] (tono) cuya amplitud, frecuenciay frecuencia de muestreo se especifican como argumentos de entrada a la función. El número de muestras del vector será el correspondiente a diez períodos de la secuencia. La cabecera de la funciónserá entonces:
function y= tono (amplitud, Ftono, Fs)
function y=tono(A, Ftono, Fs)
%A amplitud de la señal
%Ftono frecuencia del tono
%Fs frecuencia de muestreo
Ts=1/Fs; %Periodo demuestreo
Ttono=1/Ftono; % Periodo del tono
t=[-Ttono:Ts:Ttono]; %Vector de tiempos donde está definido el tono
y=A*cos(2*pi*Ftono*t) ;
% 1)Ejercicio tono
Ftonoej1=input('Introduzca lafrecuencia del tono del ejercicio 1:')
Fstonoej1=input('Introduzca la frecuencia de muestreo del tono del ejercicio 1:')
t=[-1/(Ftonoej1):1/(Fstonoej1):1/(Ftonoej1)];
tonoej1=tono1(10,Ftonoej1,Fstonoej1);
figure
stem(t,tonoej1)
Ahora probaremos la función con un tono de frecuencia f=1000 y frecuencia de muestreo Fs=10000 (10 muestras por periodo).
2) Utilizando la función tonoimplementada en el apartado 1, generaremos cinco vectores denominados tono100, tono500, tono1K, tono2K y tono8K correspondientes a cinco tonos de amplitud 10, frecuencias 100 Hz, 500 Hz, 1 KHz, 2 KHz y 8KHz, respectivamente, y una frecuencia de muestreo de 10 KHz.
%2)Ejercicio
%tono100
N=10;
Fs=10000;
ttono100=1/100;
tono100=tono(10,100,Fs);
t=[-ttono100:1/Fs:ttono100];
stem(t,tono100)title('Tono con frecuencia F=100')
xlabel('Periodo discreto')
ylabel('Amplitud')
grid
%tono500
pause
ttono500=1/500;
tono500=tono(10,500,Fs);
t=[-ttono500:1/Fs:ttono500];
stem(t,tono500)title('Tono con frecuencia F=500')
xlabel('Periodo discreto')
ylabel('Amplitud')
grid
%tono1K
pause
ttono1K=1/1000;
tono1K=tono(10,1000,Fs);
t=[-ttono1K:1/Fs:ttono1K];
stem(t,tono1K)
title('Tono...
Regístrate para leer el documento completo.