Vous êtes sur la page 1sur 2

close all

clear all
clc
Fs = 8e3;
%% PasaBajo
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%

% [bk,ak] = butter(4,800/(Fs/2),'low');
[bk,ak] = ellip(6,2,40,0.2);
Hlp = impz(bk,ak);
fvtool(Hlp)
m = floor(15 - log2(max(abs(Hlp))));
if m > 16
m = 16;
end
Hlp = Hlp*2^(m);
Hlp = floor(Hlp);
% Hlp = Hlp(1,1:end-1);
Fichero = fopen('Coef_LPPFIIR.h','w+');
fprintf(Fichero,'#define N %d\n',length(Hlp));
fprintf(Fichero,'#define m %d\n',m);
fprintf(Fichero,'#include <stdint.h> \n');
fprintf(Fichero,'int hk[] = {\n');
fprintf(Fichero,'%d,\n', Hlp);
fprintf(Fichero,'};\n');
fclose(Fichero);

%% PasaAlto
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%

[bk,ak] = ellip(6,2,40,0.2,'high');
Hhp = impz(bk,ak);
fvtool(Hhp)
m = floor(15 - log2(max(abs(Hhp))));
if m > 16
m = 16;
end
Hhp = Hhp*2^(m);
Hhp = floor(Hhp);
% Hhp = Hhp(1,1:end-1);
Fichero = fopen('Coef_HPPFIIR.h','w+');
fprintf(Fichero,'#define N %d\n',length(Hhp));
fprintf(Fichero,'#define m %d\n',m);
fprintf(Fichero,'#include <stdint.h> \n');
fprintf(Fichero,'int16_t hk[] = {\n');
fprintf(Fichero,'%d,\n', Hhp);
fprintf(Fichero,'};\n');
fclose(Fichero);

%% PasaBanda
% %
% [bk,ak] = ellip(6,2,40,[0.225 0.3],'bandpass');
% Hpb = impz(bk,ak);
% fvtool(Hpb)
%
% m = floor(15 - log2(max(abs(Hpb))));

%
%
%
%
%
%
%
%
%
%
%
%
%
%
%

if m > 16
m = 16;
end
Hpb = Hpb*2^(m);
Hpb = floor(Hpb);
% Hpb = Hpb(1:end-1,1);
Fichero = fopen('Coef_PBPFIIR.h','w+');
fprintf(Fichero,'#define N %d\n',length(Hpb));
fprintf(Fichero,'#define m %d\n',m);
fprintf(Fichero,'#include <stdint.h> \n');
fprintf(Fichero,'int16_t hk[] = {\n');
fprintf(Fichero,'%d,\n', Hpb);
fprintf(Fichero,'};\n');
fclose(Fichero);

%% RechazaBanda
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%

[bk,ak] = ellip(6,2,40,[0.225 0.3],'stop');


Hrb = impz(bk,ak);
fvtool(Hrb)
m = floor(15 - log2(max(abs(Hrb))));
if m > 16
m = 16;
end
Hrb = Hrb*2^(m);
Hrb = floor(Hrb);
% Hrb = Hrb(1,1:end-1);
Fichero = fopen('Coef_RBPFIIR.h','w+');
fprintf(Fichero,'#define N %d\n',length(Hrb));
fprintf(Fichero,'#define m %d\n',m);
fprintf(Fichero,'#include <stdint.h> \n');
fprintf(Fichero,'int16_t hk[] = {\n');
fprintf(Fichero,'%d,\n', Hrb);
fprintf(Fichero,'};\n');
fclose(Fichero);

Vous aimerez peut-être aussi