An open API service indexing awesome lists of open source software.

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

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