CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Forum
  • Accueil
  • Actus
  • Tests
  • Vidéos
  • Images
  • Soluces
  • Forum
Liste des sujets

Script TP Matlab

Kriegor
Kriegor
Niveau 11
09 décembre 2008 à 17:51:08

Prière de laisser ce message jusqu'à demain 12H, c'est pour un exam :cool:

TP3

load speech.mat

whos

plot(speech)

xlabel('time(seconds)')

taille_bloc=512;

jolitaille=size(speech)-rem(size(speech),taille_bl
oc);

new_speech=speech(1:jolitaille);

figure

plot(new_speech)

nbre_bloc=jolitaille(1)/512;

twodinew_speech=reshape(new_speech,taille_bloc,nbr
e_bloc);

dt=1/22050;

energy=sum(twodinew_speech.*twodinew_speech*dt);

puissance=(1/sum(nbre_bloc))*sum(twodinew_speech.*
twodinew_speech);

RMS=mean(twodinew_speech);

whos

figure(2)

x=1:taille_bloc:jolitaille(1);

plot(x,energy,'r+')

hold on

plot(new_speech)

eseuil=0.0002;

energy_out=(energy>eseuil);

figure

plot(x,energy_out,'r')

hold on

plot(new_speech)

Kriegor
Kriegor
Niveau 11
09 décembre 2008 à 17:52:28

TP4

Fonction APC
function [A,phi]=APC(s,t,fo)

r=exp(2*pi*j*fo.*t);

dur=max(t)-min(t)

Te=(dur)./(size(t,2)-1)

PS=sum(s.*conj(r).*Te);

A=(2/dur).*abs(PS);

phi=angle(PS);

Fonction APFC
function [A,phi,fo]=APFC(s,t)

N=size(t,2);

dur=max(t)-min(t);

Te=(dur)./(N-1);

for k=1 : floor(N/2);

fk=k/dur;

r=exp(2*pi*j*fk*t);

PS(k)=(1/N)*sum(s.*conj(r));

end

[PS_max,kmax]=max(PS);

A=2*abs(PS_max)

phi=angle(PS_max)

fo=kmax/dur

Kriegor
Kriegor
Niveau 11
09 décembre 2008 à 17:54:51

TP4

type de script

%exercice IV-2

%a)

t=0:0.02:0.998;

A=1.3;

fo=5;

phi=2.8;

s=A*cos(2*pi*fo.*t+phi);

%On a défini le vecteur signal, le vecteur support temporel et

%la fréquence fo pour les introduire dans notre fonction APC.

[Aest,phiest]=APC(s,t,fo)

plot(t,s)

hold on

sest=Aest*cos(2*pi*fo.*t+phiest);

plot(t,sest,'rx--')

%tracé de s en fonction de t superposé à notre fonction sinusoïdale

%reconstituée

%erreur relative :

%sur l'amplitude

errampli=abs((A-Aest4)/A)*100

%vitesse de l'objet

v=1450

fe=1000

fr=fest6

vO=v*(1-(fe/fr))

Kriegor
Kriegor
Niveau 11
09 décembre 2008 à 17:56:03

TP5

function [y]=sciencef(t,k,To)

fo=1/To;

phi=0;

x=cos(2*pi*fo*t-phi)+2*sin(2*pi*fo*t-phi).*sin(2*p
i*fo*t-phi);

y=x.*exp(-j*2*pi*(k/To)*t);

script

To=1/fo;

k=-2:2;

Xk=(1/To)*quad8('sciencef',-To/2,To/2,[],[],k(5),T
o)

Kriegor
Kriegor
Niveau 11
09 décembre 2008 à 17:57:03

TP7

f1=1;

N=64; %On prend N égale à une puissance de 2 ce qui donne de meilleurs résultats

T1=1/f1;

To=1*T1;

m=To/T1;

fech=N/To;

tech=1/fech;

t=0:tech:(N-1)*tech;

s1=cos(2*pi*f1*t);

subplot(3,2,1)

plot(t,s1,'black')

TFS1=fft(s1)/N; %vecteur de N valeur indicé de 1 à N

% Les coefficients positifs se trouvent avant N/2 et les négatifs après

B=FFTshift(TFS1); % Pour réorganiser ce vecteur, on utilise la fonction FFTshift

% qui va "déplier" la deuxième partie du vecteur pour la mettre avant la première.

% Mais FFTshift renvoit encore un vecteur dont les valeurs des indices vont toujours de 1 à N.

support=-N/2:1:(N/2-1); % Pour tracer finalement nos coefficients, il faut se servir d'un support k

% variant de -N/2 à N/2-1 par pas de 1

% Puis on trace les différents graphes :

subplot(3,2,3)

plot(support,real(B))

subplot(3,2,4)

plot(support,imag(B),'rx--')

subplot(3,2,5)

plot(support,abs(B),'g')

subplot(3,2,6)

plot(support,angle(B),'y')

Kriegor
Kriegor
Niveau 11
09 décembre 2008 à 17:59:27

TP8

function [r]=core(x,y)

buf=y>99999999999999999999999;

%autre possibilité : buf=zeros(1,length(y))

x2=[x,buf];

buf_index=2:length(y);

for i=1:length(x2)

buf=[buf(buf_index),x2(i)];

r(i)=sum(buf.*y);

end

script

n=60;

b=15;

a=10;

y1=zeros(1,n);

for i=1:n;

if ((i>(b-a/2))&&(i<(b+a/2)));

y1(i)=1;

end

end
nrj1=sum(y1.*y1)

subplot(3,2,2)

stem(core(y1,y1))

max1=max(core(y1,y1))

%On remarque que les maximums de l'autocorrélation correspondent aux valeurs

%calculées des énergies

avec signal quelconque :
eseuil=nrj/2;

signal2=(core(radar_pulse,radar_received)>eseuil);

figure(6)

plot(signal2,'r')

hold on

plot(core(radar_pulse,radar_received))

val=sum(core(radar_pulse,radar_noise)>eseuil)
etc...

Kriegor
Kriegor
Niveau 11
09 décembre 2008 à 18:02:18

Voilà merci. Désolé de polluer ce forum, même s'il n'est plus trop fréquenté. Je ne savais pas trop quoi choisir d'autre et je sais que je ne l'oublierai pas demain matin quand je me connecterai pour récupérer ces informations au combien précieuse durant mon exam. Enfin bref, vous me comprenez! ^^
J'aime assez à l'idée que ce jeu va m'aider à récupérer une bonne note!! ^^

Kriegor
Kriegor
Niveau 11
09 décembre 2008 à 18:10:30

Un petit dernier pour la route :

TP2
boucle for :

i=1
for DT=0.25:0.25:10
intervalle(i)=DT
energy(i)=quad8('carre',-DT/2,DT/2,[],[],a)
i=i+1
end
plot(intervalle,energy)
energynum=(sum(carre(t,a).*0,1)

histo:
hist(clari,50)
[N,X]=hist(clari.*clari,50)
Puissance=1/sum(N).*sum(X.*N)

Voilà merci encore.

Kriegor
Kriegor
Niveau 11
10 décembre 2008 à 11:21:33

C'est bon, un 20 en perspective.
Encore désolé et merci. Vous pouvez tout raser.

arnaud13330
arnaud13330
Niveau 1
15 décembre 2010 à 22:01:14

function [A,phi]=apc(fo,s,t)
r=exp(j*2*pi*fo*t);
Te=(max(t)-min(t))/(length(t)-1);
comp=sum(s.*conj(r)*Te);
mod=abs(comp);
A=2/(max(t)-min(t))*mod;
phi=angle(comp);
end

function [Aest,Phiest,fest]=apfc(s,t)
L=length(t); % L= Longeur de t
D=(t(1,L)-t(1,1));
N=L-1;
Te=D/N;
k=1;
for k=1:N/2
fk=k/D;
r=exp(2*pi*j*fk*t);
SR(k)=(1/N)*sum(s.*conj(r));
k=k+1;
end
[SRkmax,kmax]=max(SR);
Aest=2*abs(SRkmax);
Phiest=angle(SRkmax);
fest=kmax/(N*Te);
subplot(2,1,2)
k=1:N/2;
fk=k/D;
stem(fk,SR(k))
xlabel('fk')
ylabel('SR(k)')
title('SR(k) en fonction de fk','color','red')
end

arnaud13330
arnaud13330
Niveau 1
15 décembre 2010 à 22:06:04

function [fr,vo]=frvoc(fe,v,s_sonar,t_sonar);
L=length(t); % L= Longeur de t
D=(t(1,L)-t(1,1));
N=L-1;
Te=D/N;
k=1;
for k=1:N/2
fk=k/D;
r=exp(2*pi*j*fk*t);
SR(k)=(1/N)*sum(s.*conj(r));
k=k+1;
end
[SRkmax,kmax]=max(SR);
fr=kmax/(N*Te)
vo=v*(1-(fe/fr))

load(lab_data)
fe=1000;
v=1450;
s_sonar;
t_sonar;
plot(t_sonar, s_sonar)
[fr,vo]=frvoc(fe,v,s_sonar,t_sonar);

arnaud13330
arnaud13330
Niveau 1
15 décembre 2010 à 22:10:58

N=512;
speech(length(speech):N*143)=0;
LG=size(speech);
X=reshape(speech,N,143);
E=(sum(X.^2)./N);
Z(find(E>0.0002))=1;
Z(find(E<0.0002))=0;
Subplot(2,1,2);
support=(1:512:LG);
plot(speech);
hold on;
stairs(support,Z,'r');

arnaud13330
arnaud13330
Niveau 1
15 décembre 2010 à 22:12:08

%**********V-1)***********

N= 2^7;
f1=3;
T1=1;
T0=0;
ts=(T1-T0)/(N-1);
t=T0:ts:T1;
s1=1+2*sin(2*pi*f1*t);
subplot(5,1,1);
plot(t,s1);
title('signal d"origine');

S1=fft(s1)/N;
S1=fftshift(S1);
df=1/(T1-T0); % <-> fo=1/T0 intervalle en fréquence
k=-N/2:((N/2)-1);
fmax=(N/2)*df;
f=k*df;
subplot(5,1,2);
stem(f,real(S1));
title('réel');
subplot(5,1,3);
stem(f,imag(S1));
title('imaginaire');
subplot(5,1,4);
stem(f,abs(S1));
title('Module');
subplot(5,1,5);
stem(f,angle(S1).*(abs(S1)>1E-01));
title('Phase');

arnaud13330
arnaud13330
Niveau 1
15 décembre 2010 à 22:24:05

6.1
close all;
clear all;
%a)
y1=[zeros(1,10) ones(1,10) zeros(1,40)];
subplot(3,1,1);
stem(y1);
E1=sum(y1.^2)
subplot(3,1,2);
n2=1:1:10;
y2=[2*n2 zeros(1,50)];
stem(y2);
E2=sum(y2.^2)
subplot(3,1,3);
y3=[zeros(1,49) ones(1,1) zeros(1,10)];
stem(y3);
E3=sum(y3.^2)

%b)
figure;
subplot(3,1,1);
correl1=corr(y1,y1);
plot(correl1);
subplot(3,1,2);
correl2=corr(y2,y2);
plot(correl2);
subplot(3,1,3);
correl3=corr(y3,y3);
plot(correl3);
Maximum1=max(correl1)
Maximum2=max(correl2)
Maximum3=max(correl3)

%On remarque que la valeur de chaque énergie est égale à la valeur max de
%chaque autocorrélation

%c)
figure;
subplot(3,1,1);
intercor1=corr(y1,y2);
plot(intercor1);
subplot(3,1,2);
intercor2=corr(y1,y3);
plot(intercor2);
subplot(3,1,3);
intercor3=corr(y2,y3);
plot(intercor3);

6.2
close all;
clear all;

load correl_data.mat

%a)
subplot(3,1,1);
plot(dsss);
title('Signal dsss');
subplot(3,1,2);
plot(cs1, '-r');
title('Signal cs1');
subplot(3,1,3);
plot(cs2);
title('Signal cs2');
Ecs1=sum(cs1.^2)
Ecs2=sum(cs2.^2)

%b)
figure;
cor1=corr(dsss,cs1); %intercorrélation entre le signal mutltiplexé et le code le plus long cs1
plot(cor1);

function r=corr(x,y)
b=length(y); % longueur de y
x=[x zeros(1,b)]; % x = x suivit d'autant de zéros que b
a=length(x); % longueur de x
buff=zeros(1,b); % initialisation du buffer
z=[];
for k=1:a % k allant de 1 à longueur de x
buff=[buff(2:end) x(k)]; % buff = buff suivit de x
r(k)=sum(y.*buff); % corrélation de y avec buff
end

arnaud13330
arnaud13330
Niveau 1
15 décembre 2010 à 22:25:07

%**********V-2)***********
close all;
clear all;
%a)
T0=1;
T1=0.1;
N=2^9;
dt=T0/(N-1);
ti=-(T0/2);
tf=T0/2;
t=linspace(ti,(tf-dt),N);
s1= 2*(abs(t)<T1/2);
subplot(3,1,1);
stem(t,s1);

S1=fft(s1)/N;
S1=fftshift(S1);

df=1/T0; % <-> fo=1/T0 intervalle en fréquence
k=-N/2:((N/2)-1);

f=k*df;
subplot(3,1,2);
plot(f,abs(S1));

subplot(3,1,3);
argS1=angle(S1);
stem(f,argS1);

1986_inside
1986_inside
Niveau 10
24 novembre 2012 à 23:35:32

:-)

Oscar5597
Oscar5597
Niveau 10
07 décembre 2012 à 14:24:41

Le batard :rire:

Mario-SlaceII
Mario-SlaceII
Niveau 64
07 décembre 2012 à 14:25:20

Ca sert à quoi ce truc ? :noel:

Oscar5597
Oscar5597
Niveau 10
07 décembre 2012 à 14:26:13

Une anti seche :rire:

3615-18
3615-18
Niveau 10
07 décembre 2012 à 14:26:38

ça sent le cheat ici :fier:

La vidéo du moment