Spectre du signal FSK

9

J'ai implémenté un simple modem FSK de type V.23 en C ici .

La particularité de la modulation choisie est telle que les 0 et les 1 sont envoyés sous forme de tonalités de deux fréquences différentes (2100 Hz et 1300 Hz respectivement) et la durée de chaque symbole est de 1 / 1200e de seconde, soit entre une et deux périodes complètes de la fréquence de tonalité du symbole.

Le filtre passe-bande que j'ai utilisé dans le récepteur est d'environ 875 Hz à environ 2350 Hz. Cette plage a été déterminée empiriquement.

La question est de savoir comment calculer cette gamme de fréquences pour un signal comme celui-ci à partir des fréquences de tonalité et de la durée des symboles?

EDIT : Une similitude avec la modulation d'amplitude a été suggérée, où le signal modulé tombe dans la bande de la porteuse F - Bande passante du message à la porteuse F + Bande passante du message Hz.

Si j'essaie d'appliquer cette logique directement à mon cas, je dois m'attendre à ce que la bande passante de mon signal FSK soit l'union de:

F1 - débit binaire à F1 + débit binaire
F0 - débit binaire à F0 + débit binaire

Ou, si je branche les chiffres, l'union de:

1300-1200 = 100 à 1300 + 1200 = 2500
2100-1200 = 900 à 2100 + 1200 = 3300

Ou, tout simplement, de 100 à 3300 Hz.

Cependant, si je regarde le spectre de mon signal FSK, il semble qu'il soit à peu près contenu dans la bande de 2100-1200 = 900 à 1300 + 1200 = 2500 Hz au lieu de 1300-1200 = 100 à 2100 + 1200 = 3300 Hz . Ce résultat empirique peut-il être expliqué et prouvé?

EDIT2: Voici le spectre tel que je le vois dans Audacity:

entrez la description de l'image ici

Alexey Frunze
la source
-1 Le calcul du spectre d'un signal modulé en fréquence a été bien étudié: la recherche de "spectre FSK" sur Google génère plus de 700 000 hits, de nombreux tutoriels par nature. Comme le disent même les premières phrases de la plupart des hits de la première page, le calcul demande pas mal de travail. La réponse finale dépend beaucoup des détails que vous ne fournissez pas dans votre description, tels que le signal FSK en phase continue, quelle est la fonction de transfert du filtre passe-bande, etc. Oui, quelqu'un pourrait lire votre code C et votre chiffre les détails, mais pourquoi devrions-nous nous embêter?
Dilip Sarwate
1
@DilipSarwate Vous pourriez demander, si vous êtes intéressé. Et si vous l'êtes, la phase est continue. Le filtre est FIR, 1 pour les fréquences dans la bande passante, 0 ailleurs. La raison pour laquelle je pose la question est parce que c'est un cas spécial et qu'il y a probablement une logique relativement simple menant à la réponse, ne nécessitant pas de comprendre le cas général et de le spécialiser ensuite. Pourriez-vous fournir un lien pertinent autre que simplement pointer vers Google? Je peux aussi voir beaucoup de choses connexes.
Alexey Frunze
Vous avez un filtre FIR qui vous donne une réponse en fréquence mur de briques , passant toutes les fréquences entre 875 Hz et 2350 Hz avec gain unitaire et bloquant toutes les autres fréquences? Courez aussi vite que possible au bureau des brevets le plus proche et déposez votre demande de brevet!
Dilip Sarwate
@DilipSarwate Vous n'êtes pas constructif. Pedantic, bien sûr.
Alexey Frunze
Si je comprends bien, vous voudriez quand même déterminer la bande passante du signal avant le filtre passe-bande. Sinon, la réponse est simplement "825 Hz à environ 2350 Hz"
Deve

Réponses:

3

Avec Frequency Shift Keying, la modulation (données numériques) occupe de la bande passante, vous ne pouvez donc pas conserver uniquement les fréquences des marques et des tons d'espace. Une limite inférieure ferme sur le peu de bande passante que vous pouvez utiliser est la distance entre la marque et les fréquences spatiales, plus la moitié du débit en bauds de chaque côté. Donc, pour 1200 bauds avec des fréquences de 1300 hertz et 2100 hertz, la bande passante minimale absolue est de (1300- (1200/2)) [700 hertz] à (2100+ (1200/2)) [2700 hertz] qui est une bande passante de 2 kHz. Les gens ont essayé de le filtrer plus étroitement mais si la réception fournit toujours les données correctes, ce n'est que par hasard. Habituellement, il y a aussi une mise en forme d'impulsion dans le signal FSK avant la modulation pour faciliter le travail du filtre.

Brent Fisher
la source
1

Vous concevez et utilisez un filtre passe-bande pour filtrer le bruit et les signaux indésirables hors bande. Puisque votre signal a deux composantes: 1300 Hz et 2100 Hz, votre filtre passe-bande doit passer ces fréquences. Cependant, étant donné que votre signal réel a des lobes latéraux, vous ne pouvez pratiquement pas générer de signal qui n'a que ces deux composantes de fréquence, alors vous avez besoin d'une bande de Gaurd des deux côtés de ces fréquences. Il occupe la bande de gaurd que vous avez choisie en non symétrique, vous pouvez choisir un filtre avec une fréquence de bande passante de 1000 Hz à 2400 Hz par exemple.

TJ1
la source
Il me semble que la vraie question serait de savoir quel filtre produirait la bande passante minimale tout en permettant au démodulateur de bien distinguer les deux fréquences. Cela dépendrait en partie du démodulateur.
Daniel R Hicks
Je sais que je dois inclure plus de fréquences que 1300 et 2100. La question est de savoir comment je calcule lequel sur la base de 3 valeurs: 1300 Hz, 2100 Hz, 1200 bits / seconde. Votre réponse n'y répond pas.
Alexey Frunze