element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Raspberry Pi
  • Products
  • More
Raspberry Pi
Raspberry Pi Forum Using Cirrus Logic Audio Card for PDM Signal?
  • Blog
  • Forum
  • Documents
  • Quiz
  • Events
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Raspberry Pi to participate - click to join for free!
Featured Articles
Announcing Pi
Technical Specifications
Raspberry Pi FAQs
Win a Pi
Raspberry Pi Wishlist
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • Replies 2 replies
  • Subscribers 665 subscribers
  • Views 606 views
  • Users 0 members are here
  • pdm_integration
  • raspberry_pi
  • raspeberry_pi_accessories
  • pdm
Related

Using Cirrus Logic Audio Card for PDM Signal?

Former Member
Former Member over 9 years ago

Hello,

 

Newbie disclaimer:

I am working on my first audio project, which is to manipulate some ultrasound signals coming from a MEMS microphone via the RPI and playing them back again in real time at audible frequencies, and I am learning a lot as I go along, so I may make obvious oversights in this post. With that said, here is my question:

 

Is there any way for the Cirrus Logic Audio Card to handle the transfer of PDM data to the Raspberry Pi 2? The microphone I'm working with (Knowles SPH0641LU4H-1) outputs bits at a rate of 3.072 to 4.8 MHz (the clock rate required by the device in ultrasonic mode). My goal is to get this signal to the Raspberry Pi, where I can use Csound to run it through a low-pass filter to turn it into an analog signal. Currently, my plan is to try to get ALSA, and by extension Csound, to use one of the GPIO pins available on the audio card's expansion header as a form of input for the PDM signal. Does this seem plausible? Is there a better way?

 

Thank you!

  • Sign in to reply
  • Cancel
  • clem57
    clem57 over 9 years ago

    I believe this:

    My goal is to get this signal to the Raspberry Pi, where I can use Csound to run it through a low-pass filter to turn it into an analog signal.

    May be incorect because https://en.wikipedia.org/wiki/Low-pass_filter 

    would block the high waves. You really want to shift down the ultrasound into the audio range by altering the frequency with a divider circuit see https://en.wikipedia.org/wiki/Frequency_divider.

    C

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • Former Member
    Former Member over 9 years ago in reply to clem57

    The signal from the microphone is a PDM signal, so according to the Wikipedia page on PDM (https://en.wikipedia.org/wiki/Pulse-density_modulation), a low-pass filter should serve the purpose of averaging the signal into a PCM format (and smoothing out the high frequency noise), which I guess is what Csound can manipulate. I plan to shift the frequency into the audible range once it is in a PCM format.

     

    I still haven't found a solution yet, but I'm reading through these posts with the hope that I'll find something useful: http://http://curiouser.cheshireeng.com/category/projects/pdm-microphone-toys/page/3/

     

    I'm also hoping to minimize my external hardware use by converting the PDM signal to PCM within the RPI if I can, which seems possible given that I2S pins are available on the Cirrus Logic Audio Card's expansion header, but I have to do some more reading to wrap my head around how that might be done.

     

     

     

    EDIT:

    "run it through a low-pass filter to turn it into an analog signal."

     

    What I just said in this post conflicts with this quote, so I'll try to clarify my thoughts about the low-pass filter.

     

    One solution I can think of is to implement a hardware low-pass filter to convert the PDM signal to an analog signal, then to sample that analog signal with the audio card. This, however, seems a little convoluted given that PDM is already in a digital format, and there are other factors in support of keeping the signal digital, but I suppose I can always fall back on this.

     

    If I keep the signal digital, I still have to run it through a low-pass filter to turn it into PCM data, so that's why I used the phrase "low-pass filter" to refer to both concepts.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube