https://github.com/hoytech/pdl-radio
Amateur radio system built on PDL
https://github.com/hoytech/pdl-radio
Last synced: 7 months ago
JSON representation
Amateur radio system built on PDL
- Host: GitHub
- URL: https://github.com/hoytech/pdl-radio
- Owner: hoytech
- Created: 2013-11-14T08:28:27.000Z (almost 12 years ago)
- Default Branch: master
- Last Pushed: 2013-12-05T11:15:38.000Z (almost 12 years ago)
- Last Synced: 2025-01-25T05:43:03.685Z (9 months ago)
- Language: Perl
- Homepage:
- Size: 207 KB
- Stars: 1
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.pod
- Changelog: Changes
Awesome Lists containing this project
README
=encoding utf-8
=head1 NAME
PDL::Radio - Amateur radio system built on PDL
=head1 SYNOPSIS
use PDL::Radio::All;
## Basic sounds for testing:
## Play 500 Hz sine wave for 5 seconds:
PDL::Radio::Sine->new(freq => 500)->play(5);## Play 1 second of a sine wave, phase shift 180 degrees, play another second:
PDL::Radio::Sine->new->play(1)->play(1,PI);## Plot .01 second of a sawtooth wave:
plot(PDL::Radio::Sawtooth->new->get(.01));## CW (morse code):
## Call CQ:
PDL::Radio::CW->new->play("CQ CQ CQ DE VE3HOY VE3HOY " x 10);## Change keying envelope (hard/min/hanning):
PDL::Radio::CW->new(shape => 'hard')->play("CQ CQ CQ");## Risetime in milliseconds:
PDL::Radio::CW->new(shape => 'hanning', risetime => 10)->play("CQ CQ CQ");## RTTY:
## Call CQ:
PDL::Radio::RTTY->new->play("CQ CQ CQ DE VE3HOY VE3HOY " x 10);## Custom baud/freq_shift:
PDL::Radio::RTTY->new(freq_shift => 90, baud => 20)->play("CQ CQ CQ");## PSK-31:
## Call CQ:
PDL::Radio::PSK->new->play("cq cq cq de VE3HOY VE3HOY " x 10);## Transmit all 0s (two tones):
PDL::Radio::PSK->new->play("\x00"x100, 800);## Transmit all 1s (single tone):
PDL::Radio::PSK->new->play("\xFF"x100, 800);
=head1 DESCRIPTION
This is a work-in-progress library for generating modem data and playing it through L. Pulse Audio makes redirecting the audio output to programs like L really easy.
=head1 SEE ALSO
L
L is similar to this module except that it interfaces to sndlib where this module interfaces to pulseaudio. L is a pain to setup and I couldn't figure out how to send data to fldigi. Also, L doesn't seem to be on CPAN anymore?
=head1 AUTHOR
Doug Hoyte, C<< >>
=head1 COPYRIGHT & LICENSE
Copyright 2012-2013 Doug Hoyte.
This module is licensed under the same terms as perl itself.
=cut