Signal carré

Réponses à toutes vos questions après le Bac (Fac, Prépa, etc.)
Michael027
Messages: 4
Enregistré le: 25 Mar 2021, 12:18

Signal carré

par Michael027 » 25 Mar 2021, 12:53

Bonjour à tous,

Premier post sur ce forum. J'espère que je serai clair dans mes explications et que nous trouverons une solution.

Je cherche à définir une équation pour faire un signal carré sur l’intervalle fini (de 0 à 1 par exemple), avec possibilité de définir la période quelconque du signal carré (0,2 par exemple, pour avoir un total de 5 périodes sur l'intervalle précédemment définie).
Pour la valeur f(x), 1/2 période à une valeur définie (2 par exemple), et la dernière 1/2 période à 0.

Mes connaissances en mathématiques atteignent leur limites avec la recherche d'un signal carré... Je m'en remet à vous, pour m'aider à trouver une solution. ;)

Merci beaucoup,
Michael



GaBuZoMeu
Habitué(e)
Messages: 6019
Enregistré le: 05 Mai 2019, 10:07

Re: Signal carré

par GaBuZoMeu » 25 Mar 2021, 13:23

Bonjour,

Peux-tu préciser ce que tu entends par "une équation pour faire un signal carré " ?
Quel est exactement ton besoin ?
Veux-tu un développement en série de Fourier ?
etc.

Michael027
Messages: 4
Enregistré le: 25 Mar 2021, 12:18

Re: Signal carré

par Michael027 » 25 Mar 2021, 13:44

Désolé pour le manque de précision.

En gros, je cherche à reproduire cette courbe :
Image

L'idée est de me servir de cette fonction dans un logiciel de conception. Le résultat final me permettra de générer la forme d'une gaine le long d'une courbe de forme et longueur quelconque.

La trajectoire de la gaine est mon axe x, et la variation du diamètre de la gaine est Ø nominal + f(x), qui aura pour conséquence, de former les créneaux de la gaine, le long de la trajectoire.

Pour cela, mes variables sont :
- longueur de la trajectoire
- période du signal (en gros, le pas des créneaux) ou le nombre de périodes.

La seule chose qui me manque pour réaliser cela est l'équation pour faire varier mon Ø nominal.
C'est-à-dire, f(x).

Exemple de gaine :
Image

GaBuZoMeu
Habitué(e)
Messages: 6019
Enregistré le: 05 Mai 2019, 10:07

Re: Signal carré

par GaBuZoMeu » 25 Mar 2021, 15:20

Ton problème est donc un problème de représentation graphique avec ton logiciel ?
La réponse dépendra fortement du logiciel que tu utilises.

Michael027
Messages: 4
Enregistré le: 25 Mar 2021, 12:18

Re: Signal carré

par Michael027 » 25 Mar 2021, 17:32

Non non, aucun problème avec le logiciel. :lol:
Le problème est que je ne parviens pas à trouver une équation permettant de générer un signal carré.

Je prend un exemple. Si je veux un signal sinusoïdal (ça je sais faire :P ) :

x : varie entre 0 et la fin de mon intervalle
r : nombre de répétitions
f(x) = sin( x * 360° * r )

Exemple avec valeurs :
x : varie entre 0 et 10
r = 20
f(x) = sin( x * 360° * 20 )

Résultat : Je vais obtenir une courbe sinusoïdale contenant 20 répétitions, dans l'intervalle 0 à 10, et d'une amplitude de 1.

----

Question bête : Il n’existe pas un moyen de transformer n'importe quelle valeur de x positif en constante, et n'importe quelle valeur de x négatif en l'inverse de la constante.
Pour résumer :
Si x>0 = 1
Si x<0 = -1

GaBuZoMeu
Habitué(e)
Messages: 6019
Enregistré le: 05 Mai 2019, 10:07

Re: Signal carré

par GaBuZoMeu » 25 Mar 2021, 20:19

Ça dépend tout de même des fonctions mathématiques que ton logiciel comprend.
Par exemple en python on définit
Code: Tout sélectionner
import numpy as np

def carre(r,x) :
    return (np.floor((r*x)%2)-1/2)/r

et on fait afficher
Code: Tout sélectionner
import matplotlib.pyplot as plt

x=np.linspace(0,17,1000)

fig, ax = plt.subplots()
ax.plot(x,carre(3,x))
ax.set_aspect(1)
ax.axis("off")
plt.show()


Image

Black Jack

Re: Signal carré

par Black Jack » 25 Mar 2021, 20:36

Bonjour,

Voir si la fonction "porte" peut t'aider.

https://fr.wikipedia.org/wiki/Fonction_ ... 20vaut%201.

8-)

Avatar de l’utilisateur
fatal_error
Modérateur
Messages: 6610
Enregistré le: 22 Nov 2007, 13:00

Re: Signal carré

par fatal_error » 25 Mar 2021, 21:27

Il n’existe pas un moyen de transformer n'importe quelle valeur de x positif en constante, et n'importe quelle valeur de x négatif en l'inverse de la constante.
Pour résumer :
Si x>0 = 1
Si x<0 = -1

généralement cette fonction s'appele sign(x)
mais comme l'a fait remarquer gbzm, ca dépend du "logiciel" que tu utilises (plus précisément du langage)
la vie est une fête :)

Michael027
Messages: 4
Enregistré le: 25 Mar 2021, 12:18

Re: Signal carré

par Michael027 » 25 Mar 2021, 21:54

Merci pour vos réponses !

Bien vu fatal_error, c'était exactement ce que je cherchais.

Malheureusement ça ne fonctionne pas, même si la formule semble bonne...
f(x) = sign( 1, sin( x * 360° * r ) )

La formule sign(a,b) du logiciel (Creo) fonctionne comme ceci :
[Signe de b] [ | a | ]
Du coup :
f(0.25) = +1
f(0.75) = -1

Maintenant je vais me tourner vers le logiciel pour comprendre pourquoi il n'arrive pas à générer la géométrie demandée.

Merci à tous !!

GaBuZoMeu
Habitué(e)
Messages: 6019
Enregistré le: 05 Mai 2019, 10:07

Re: Signal carré

par GaBuZoMeu » 26 Mar 2021, 10:06

En python (avec numpy), ça marche aussi :

Code: Tout sélectionner
def carrebis(r,x) :
    return np.sign((r*x)%2-1)/2/r


Code: Tout sélectionner
def carreter(r,x) :
    return np.sign(np.sin(r*x*np.pi))/2/r

 

Retourner vers ✯✎ Supérieur

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 55 invités

Tu pars déja ?



Fais toi aider gratuitement sur Maths-forum !

Créé un compte en 1 minute et pose ta question dans le forum ;-)
Inscription gratuite

Identification

Pas encore inscrit ?

Ou identifiez-vous :

Inscription gratuite