Modulation et démodulation AM avec Python Partie 2

Aperçu

J'ai essayé la modulation AM et la démodulation avec Python. Le démodulateur est GNU Radio AM Demod.

Photo

figure_3.png

Graphique de flux

test16.grc.png

Exemple de code

from gnuradio import analog
from gnuradio import audio
from gnuradio import blocks
from gnuradio import eng_notation
from gnuradio import filter
from gnuradio import gr
from gnuradio.eng_option import eng_option
from gnuradio.filter import firdes
from optparse import OptionParser
import sys
import scipy
import numpy as np
import scipy.signal as sg
import pylab

class radio(gr.top_block):
    def __init__(self, vam):
        gr.top_block.__init__(self)
        self.samp_rate = samp_rate = 32000
        self.blocks_vector_source_x_0 = blocks.vector_source_f(vam.tolist(), False, 1, [])
        self.hilbert_fc_0 = filter.hilbert_fc(65, firdes.WIN_HAMMING, 6.76)
        self.blocks_vector_sink_x_0 = blocks.vector_sink_f(1)
        self.analog_am_demod_cf_0 = analog.am_demod_cf(channel_rate=32000, audio_decim=1, audio_pass=8000, audio_stop=8100,)
        self.connect((self.hilbert_fc_0, 0), (self.analog_am_demod_cf_0, 0))
        self.connect((self.blocks_vector_source_x_0, 0), (self.hilbert_fc_0, 0))
        self.connect((self.analog_am_demod_cf_0, 0), (self.blocks_vector_sink_x_0, 0))
def main():
    sample_rate = 32000.
    nsamples = 320
    F_1 = 1000.
    A_1 = 1.0
    F_2 = 10000.
    A_2 = 0.5 
    t = np.arange(nsamples) / sample_rate
    vin = A_1 * np.sin(2 * np.pi * F_1 * t) 
    vam = (A_1 * np.sin(2 * np.pi * F_1 * t) + 1.0) * A_2 * np.sin(2 * np.pi * F_2 * t)
    put = radio(vam)
    put.run()
    data = scipy.array(put.blocks_vector_sink_x_0.data())
    f1 = pylab.figure(1, figsize = (12, 10), facecolor = 'w')
    s1 = f1.add_subplot(2, 2, 1)
    s1.plot(vin)
    s3 = f1.add_subplot(2, 2, 2)
    s3.plot(vam)
    s4 = f1.add_subplot(2, 2, 3)
    s4.plot(data)
    pylab.show()
if __name__ == "__main__":
    try:
        main()
    except KeyboardInterrupt:
        pass




Recommended Posts

Modulation et démodulation AM avec Python Partie 2
Modulation et démodulation AM avec python
Modulation et démodulation FM avec Python Partie 3
Modulation et démodulation FM avec Python Partie 2
Modulation et démodulation FM avec Python
Pile et file d'attente en Python
UI Automation Partie 2 en Python
Unittest et CI en Python
Translocation de fichiers CSV avec Python Partie 1
Paquets qui gèrent le MIDI avec Python midi et pretty_midi
Différence entre list () et [] en Python
Différence entre == et est en python
Afficher les photos en Python et html
Algorithme de tri et implémentation en Python
Manipuler des fichiers et des dossiers en Python
À propos de Python et Cython dtype
Affectations et modifications des objets Python
Vérifiez et déplacez le répertoire en Python
Chiffrement avec Python: IND-CCA2 et RSA-OAEP
Hashing de données en R et Python
Synthèse de fonctions et application en Python
objet perl et classe python partie 1.
Exporter et exporter des fichiers en Python
Inverser le pseudonyme plat et le katakana en Python2.7
Lire et écrire du texte en Python
[GUI en Python] Menu PyQt5 et barre d'outils-
Créer et lire des paquets de messages en Python
Résolution de l'introduction d'AOJ aux algorithmes et aux structures de données en Python -Partie1-
Résolution de l'introduction d'AOJ aux algorithmes et aux structures de données en Python -Partie2-
Résolution de l'introduction d'AOJ aux algorithmes et aux structures de données en Python -Partie4-
Résolution de l'introduction d'AOJ aux algorithmes et aux structures de données en Python -Partie3-
Chevauchement d'expressions régulières en Python et Java
Différence d'authenticité entre Python et JavaScript
Notes utilisant cChardet et python3-chardet dans Python 3.3.1.
Les modules et packages en Python sont des "espaces de noms"
Évitez les boucles imbriquées en PHP et Python
Création d'interface graphique en python à l'aide de tkinter partie 1
Différences entre Ruby et Python dans la portée
différence entre les instructions (instructions) et les expressions (expressions) en Python
Valeurs authentiques et vecteurs propres: Algèbre linéaire en Python <7>
Module d'implémentation de file d'attente et Python "deque"
Graphique à lignes pliées et ligne d'échelle en python
Implémenter le filtre FIR en langage Python et C
Différences entre la syntaxe Python et Java
Vérifier et recevoir le port série en Python (vérification du port)
Rechercher et lire des vidéos YouTube avec Python
Différence entre @classmethod et @staticmethod en Python
Dessiner un cœur avec Python Partie 2 (SymPy Edition)
Différence entre append et + = dans la liste Python
Différence entre non local et global en Python
Ecrire le fichier O_SYNC en C et Python
Gérer les "années et mois" en Python
Lire et écrire des fichiers JSON avec Python
Représentez facilement des données graphiques dans le shell et Python
Méthodes et champs privés en python [chiffrement]
Rechercher et vérifier la matrice inverse en Python
Indépendance et base linéaires: Algèbre linéaire en Python <6>
Appelez sudo en Python et mot de passe à saisie automatique
Différences de multithreading entre Python et Jython
Importation de modules et gestion des exceptions en python
Comment utiliser is et == en Python