You are on page 1of 2

# -*- coding: utf-8 -*-

"""
Created on Fri Dec 22 09:29:06 2023

@author: IMED CHAKHARI


"""

import numpy as np
import matplotlib.pyplot as plt

""" application 1"""


def app1():
x=np.ones(10)
h=x
k=np.arange(len(x))

plt.figure()
plt.subplot(311),plt.stem(k,x,'r')

energie=sum(x**2)
print("energie = ", energie)

cx=np.correlate(x,x, mode='full')
k=np.arange(-9,10)

plt.subplot(312),plt.stem(k,cx,'k')

energie2=cx[9]
print("energie_corrolation = ", energie2)

sa=np.fft.fftshift(np.abs(np.fft.fft(x,64)))
plt.subplot(313),plt.stem(sa,'g')

DspecE=sa**2 #densité spectrale

N=len(x)
e3=np.sum(sa**2)/N

#app2
''' convol d(k)*rect10(k)'''

def app2():
x=np.ones(10)
k=np.arange(len(x))

d=np.array([0,0,1]) #retard signal par 2 si le signale nest retardé :


d=np.array([0])
k0=np.arange(len(d))

y=np.convolve(x, d)
N=len(x)+len(d)-1
k2=np.arange(N)

plt.figure()
plt.subplot(511),plt.stem(k,x,'r'),plt.ylim([0,1.2])
plt.subplot(513),plt.stem(k0,d,'b'),plt.ylim([0,1.2])
plt.subplot(515),plt.stem(k2,y,'k'),plt.ylim([0,1.2])

#app 3
def app3() :
x=np.ones(10)
h=x
k=np.arange(len(x))

y=np.convolve(x, h)
N=len(x)+len(h)-1
k2=np.arange(N)

plt.figure()
plt.subplot(511),plt.stem(k,x,'r'),plt.ylim([0,1.3])
plt.subplot(513),plt.stem(k,h,'b'),plt.ylim([0,1.3])
plt.subplot(515),plt.stem(k2,y,'k'),plt.ylim([0,13])

print("chois de l'application : \n")


chois=int(input("""
1/ app 1
2/ app 2
3/ app 3
"""))

if(chois==1):
app1()
elif(chois==2):
app2()
elif(chois==3):
app3()
else :
print("invalide choix \n")

You might also like