Вы находитесь на странице: 1из 15

ESTB00613InstrumentaoBiomdicaAvanada

Prof.Dr.FernandoSilvadeMoura

Relatrio1IntroduolinguagemOctave/Matlab

JessicaKatelynSiqueiraVieira11101310

Turma:Noturno

SoBernardodoCampo,Julho2016

1.

Contextualizao

Este laboratrio teve como objetivo a apresentao e familiarizao com o


uso das ferramentas computacionais Octave ou Matlab para a realizao de
clculosnumricos.

2.

Exerccio1:Manipulaodedadosecriaodesubrotinas

Foi criadoumscriptcapazdecarregarosarquivosfornecidos,quecontinham
dadosde ECG em formatode texto, no Matlab e arranjalosem uma matrizdetrs
colunas.Sendoaprimeiracolunareferenteaosinstantesdecoletaeasegundaea
terceira coluna referentes medidasdetensodeduas derivaesdoECG MLIIe
VI,respectivamente.OscriptcriadopodeservistonoAnexo4.1.
Os grficos dos doissinaisde ECG entreosinstantest=2set=8spodemser
vistosnasfigurasaseguir.

Figura1:sinalMLIIcomrudo


Figura2:sinalMLIIsemrudo

Figura3:sinalVIcomrudo


Figura4:sinalVIsemrudo

Apartirdaleituradosgrficossemrudo,foipossvelnotar7repetiesdo
complexoQRSdentrodointervalode6segundos(t=2set=8s).Ouseja,ocorrem1,16
batimentosporsegundo,queequivalea60batimentosporminuto.
Paraadeterminaodoperodofoianalisadoointervaloentredoispicosdosinal
consegutivos:
Pico1ocorreuemt=2,56seosegundopicoocorreuemt=3,52s

T s = 0, 96s

F s = T1s

F s = 1, 041Hz

Atravsdafunofft(x)foipossvelcalcularaTransformadarpidadeFourier
(FFT) dos sinais de ECG. Os grficos do espectro das duas derivaes foram
plotadosepodemserobservadosnasfigurasaseguir.


Figura5:EspectroFFTdaderivaoMLIIcomrudo

Figura6:EspectroFFTdaderivaoMLIIsemrudo


Figura7:EspectroFFTdaderivaoVIcomrudo

Figura8:EspectroFFTdaderivaoVIsemrudo

Comparando o valor de frequncia calculado e os grficos da FFT obtidos,


observouse que os sinais sem rudo apresentam um pico de frequncia perto de
1,09 Hz, o quepermite dizerque o valor defrequnciacalculado eoobtidoatravs
dosgrficosdaFFTsoprximos.

3.

Exerccio2:Usodesubrotinas

Apartirdodiagramadadoquerepresentaumfiltropassabaixa,eassumindoqueos
fasoresIsoincgnitas,foipossveldeterminarosistemadeequaesnaformamatricial
Ax=b.

Feitoisso,foramescritasfunesnoMatlabparacadaitem,easfunes
podemserobservadasnoAnexo.
ApsdeterminarosfasoresI1,I2,I3foipossveldeterminarosfasoresdas
correntestotaispassandoporcadaumdoscapacitores.
Ia=1.09e05+1.27e04i
Ib=4.75e06+1.26e04i
Ic=1.25e05+1.25e04i
EcomissodeterminarosfasoresdospotenciaisnosnsA,BeC.
Va=2.02+0.17i
Vb=2.030.07i
Vc=1.980.20i

AcapacitnciaC3foireduzidapara10nFforamobtidosoutrosvalorespara
osfasoresVa,VbeVc.
Va=3.13+0.02i
Vb=3.120.20i
Vc=0

Ao comparar os dois valores para os fasores Va, Vb eVcobtidos podemos


notar que aodiminuirovalordocapacitorC3,osmodulosdastensesaumentaram,
em especial o da tensoVC. Issoeraesperadopoisovalor de Z3inversamente
proporcional a frequncia e ao valor da capacitncia. Sendo assim diminuindo a
capacitncia temos um aumento da impedncia consequentemente um leve
aumentodatensodesadadofiltro.
Posteriormente, com a frequncia aumentada para 1000Hz os valores para
osfasores Va, Vb eVcforam calculadosnovamenteeosresultadosobtidospodem
serobservadosaseguir.
Va=3.38+0.87i
Vb=1.880.89i
Vc=0
Porfim,foideterminadoodiagramadeBode,eoscripelaboradopodeser
observadonoAnexo4.3.

Figura9:DiagramadeBodedosistema.

4.

Anexos

4.1.
ScriptExerccio1:
%Laboratrio1:IntroduolinguagemOctave/Matlab
%JessicaKatelyndeSiqueiraVieira

clearall
closeall
clc

%Exerccio1ManipulaodeDadoseCriaodeSubrotinas

%1.carregararquivosfornecidos(dadosdeECGcomesemrudos)
ECGcr=load('DADOS_ECG_com_ruido.txt')
ECGsr=load('DADOS_ECG_sem_ruido.txt')

%2.Crie3variveisquearmazenamcadaumadascolunasseparadamente

%instantesdacoletanaprimeiracoluna(t)
t=ECGcr(:,1)

%derivaesdoECGcomrudormmatrizes
MLIIcr=ECGcr(:,2)
VIcr=ECGcr(:,2)

%derivaesdoECGsemrudormmatrizes
MLIIsr=ECGsr(:,2)
VIsr=ECGsr(:,2)

%3.ApresentarosgrficosdosdoissinaisdeECGentret=2se8s

figure(1)%novafigura
plot(t,MLIIcr,'r')%grfico
axis([2833])%eixosajustadosde28segundosdecoletacom6mVpp
grid%adicionalinhasauxiliares
title('MLIIcomRudo')
xlabel('Tempo(s)')
ylabel('Tenso(mV)')
print('dpng','r300','MLIIcr.png')%salvaaimagem

figure(2)
plot(t,MLIIsr,'black')
axis([2833])
grid
title('MLIIsemRudo')
xlabel('Tempo(s)')
8

ylabel('Tenso(mV)')
print('dpng','r300','MLIIsr.png')

figure(3)
plot(t,VIcr,'r')
axis([2833])
grid
title('VIcomRudo')
xlabel('Tempo(s)')
ylabel('Tenso(mV)')
print('dpng','r300','VIcr.png')

figure(4)
plot(t,VIsr,'black')
axis([2833])
grid
title('VIsemRudo')
xlabel('Tempo(s)')
ylabel('Tenso(mV)')
print('dpng','r300','VIsr.png')

%5.clculodoperododeamostragem(Tsems)

Ts=t(2,1)t(1,1)

%6.clculodafrequnciadeamostragem(FsemHz)
Fs=1/Ts

%GerandoFFT(espectrodefrequnciasunilateralnormalizado)

[MLIIcrFFT,freqMLIIcr]=positiveFFT(MLIIcr,Fs,1)
figure(5)
plot(freqMLIIcr,abs(MLIIcrFFT))
axis([01000.8])
grid
title('FFTMLIIcomRudo')
xlabel('Frequncia(Hz)')
ylabel('Amplitude')
print('dpng','r300','MLIIcrFFT.png')

[MLIIsrFFT,freqMLIIsr]=positiveFFT(MLIIsr,Fs,1)
figure(6)
plot(freqMLIIsr,abs(MLIIsrFFT))
axis([01000.16])
grid
9

title('FFTMLIIsemRudo')
xlabel('Frequncia(Hz)')
ylabel('Amplitude')
print('dpng','r300','MLIIsrFFT.png')

[VIcrFFT,freqVIcr]=positiveFFT(VIcr,Fs,1)
figure(7)
plot(freqVIcr,abs(VIcrFFT))
axis([01000.8])
grid
title('FFTVIcomRudo')
xlabel('Frequncia(Hz)')
ylabel('Amplitude')
print('dpng','r300','VIcrFFT.png')

[VIsrFFT,freqVIsr]=positiveFFT(VIsr,Fs,1)
figure(8)
plot(freqVIsr,abs(VIsrFFT))
axis([01000.16])
grid
title('FFTVIsemRudo')
xlabel('Frequncia(Hz)')
ylabel('Amplitude')
print('dpng','r300','VIsrFFT.png')

4.2.
ScriptExerccio2:
%Laboratrio1:IntroduolinguagemOctave/Matlab
%JessicaKatelyndeSiqueiraVieira

clearall
closeall
clc

%Exercicio2Usodesubrotinas

%Estudodocomportamentodarespostadeumfiltropassabaixaspassivo

%Argumentosdeentrada:
%R1=Resistor1(ohms)
%R2=Resistor2(ohms)
%R3=Resistor3(ohms)
%C1=Capacitor1(Faradays)
%C2=Capacitor2(Faradays)
%C3=Capacitor3(Faradays)
%f=Frequenciadosinaldeentrada(Hz)
10

%V=Tensaodeentrada(V)

%________________________________________________________________________
__
%3.Atribuindoosseguintesvaloresdeentrada

R1=1000
R2=1000
R3=1000
C1=100e9
C2=100e9
C3=100e9
f=100
V=10

%ChamandoafuncaomontaSistemaLinear,aqualmontaamatrizAeovetorB

[A,B,Z1,Z2,Z3]=montaSistemaLinear1(R1,R2,R3,C1,C2,C3,f,V)

%ChamandoafuncaosolucaoSistemaLinear,aqualresolveosistema
%itens4,5

[VA1,VB1,VC1]=solucaoSistemaLinear1(A,B,Z1,Z2,Z3)

%________________________________________________________________________
__
%6.Atribuindovaloresaosargumentosdeentrada

R1=1000
R2=1000
R3=1000
C1=100e9
C2=100e9
C3=10e9
f=100
V=10

%ChamandoafuncaomontaSistemaLinear,aqualmontaamatrizAeovetorB

[A,B,Z1,Z2,Z3]=montaSistemaLinear1(R1,R2,R3,C1,C2,C3,f,V)

%ChamandoafuncaosolucaoSistemaLinear,aqualresolveosistema
11

[VA2,VB2,VC2]=solucaoSistemaLinear2(A,B,Z1,Z2,Z3)

%________________________________________________________________________
__
%7.Atribuindovaloresaosargumentosdeentrada

R1=1000
R2=1000
R3=1000
C1=100e9
C2=100e9
C3=100e9
f=1000
V=10

%ChamandoafuncaomontaSistemaLinear,aqualmontaamatrizAeovetorB

[A,B,Z1,Z2,Z3]=montaSistemaLinear1(R1,R2,R3,C1,C2,C3,f,V)

%ChamandoafuncaosolucaoSistemaLinear,aqualresolveosistema

[VA3,VB3,VC3]=solucaoSistemaLinear3(A,B,Z1,Z2,Z3)

Exercicio={'Item5''Item6''Item7'}
VA=[abs(VA1)abs(VA2)abs(VA3)]
VB=[abs(VB1)abs(VB2)abs(VB3)]
VC=[abs(VC1)abs(VC2)abs(VC3)]

T=table(VA,VB,VC,'RowNames',Exercicio)

4.3.
ScriptExerccio2(diagramadeBode):

%Laboratrio1:IntroduolinguagemOctave/Matlab
%JessicaKatelyndeSiqueiraVieira
%Exercicio2Usodesubrotinas
%Estudodocomportamentodarespostadeumfiltropassabaixaspassivo
%Item8.DiagramaBode

%Argumentosdeentrada:
12

%R1=Resistor1(ohms)
%R2=Resistor2(ohms)
%R3=Resistor3(ohms)
%C1=Capacitor1(Faradays)
%C2=Capacitor2(Faradays)
%C3=Capacitor3(Faradays)
%f=Frequenciadosinaldeentrada(Hz)
%V=Tensaodeentrada(V)

%Atribuindovaloresaosargumentosdeentrada
R1=1000
R2=1000
R3=1000
C1=100e9
C2=100e9
C3=100e9
f=100
V=10

%ChamandoafuncaomontaSistemaLinear,aqualmontaamatrizAeovetorB

[A,B,Z1,Z2,Z3]=montaSistemaLinear2(R1,R2,R3,C1,C2,C3,f,V)

%ChamandoafuncaosolucaoSistemaLinear,aqualresolveosistema

[VA,VB,VC]=solucaoSistemaLinear2(A,B,Z1,Z2,Z3)

%Observacao:Paraefetuarosnovoscalculosutilizandoosnovosparametros
%propostosnoexercicio,bastaapenasdigitarosvaloresdesejadosdos
%argumentosdeentradanovamenteerodaroprograma

%DiagramadeBode

vetor_Va=[]
vetor_Vb=[]
vetor_Vc=[]
vetor_f=[]

forf=1:100:10000

[A,B,Z1,Z2,Z3]=montaSistemaLinear2(R1,R2,R3,C1,C2,C3,f,V)
13


[VA,VB,VC]=solucaoSistemaLinear2(A,B,Z1,Z2,Z3)

vetor_Va=[vetor_VaVA]
vetor_Vb=[vetor_VbVB]
vetor_Vc=[vetor_VcVC]
vetor_f=[vetor_ff]
end

loglog(vetor_f,abs(vetor_Va),vetor_f,abs(vetor_Vb),vetor_f,abs(vetor_Vc))
legend('VA','VB','VC')
title('DiagramaBode')
xlabel('Frequencia(Hz)')
ylabel('Tensaoeletrica(V)')
print('dpng','r300','DiagramaBode.png')

14

Вам также может понравиться