Skip to main content

A python package for ultra bandwidth signal process, can divide signal into several narrow bandwidth signal

Project description

Channelizer

For ultra bandwidth signal process

Supporting:

  • Critically sampled channelizer
  • Integer-oversampled channelizer
  • Rationally-oversampled channelizer

Using them by modify M and D

Code Example:

    # filter taps:
    TAPS = 63
    # channel_num(branch), Number of frequency bands :
    CHANNEL_NUM = 4
    # M equal channel_num(branch), more article call it M:
    M = CHANNEL_NUM
    # Decimation factor
    D = 3
    # if D = M : Critical polyphase filter bank(CSPFB)
    # if M is multiples of D : Integer-oversample filter bank(IOSPFB)
    # else if D < M : Rationally-oversampled filter bank(ROSPFB)

    np_data = np.loadtxt(r'\mini_data.txt')
    coe = realignment_coe(TAPS, CHANNEL_NUM, D)
    polyphase_filter_res = polyphase_filter_bank_with_denominator_z(np_data, coe, CHANNEL_NUM, D)
    fft_res = np.fft.ifft(polyphase_filter_res, axis=0)
    plot_sub(fft_res, CHANNEL_NUM, "DX " + str(CHANNEL_NUM) + "/" + str(D) + "X channelizer with z gcd result:")
    
    coe = realignment_coe(TAPS, CHANNEL_NUM, D)
    polyphase_filter_res = polyphase_filter_bank_with_denominator_z(np_data, coe, CHANNEL_NUM, D)
    rotate_res = circular_rotate(polyphase_filter_res, CHANNEL_NUM, D)
    fft_res = np.fft.ifft(rotate_res, axis=0)
    plot_sub(fft_res, CHANNEL_NUM,"DX " + str(CHANNEL_NUM) + "/" + str(D) + "X channelizer with z gcd and rotate result:")
    
    coe = realignment_coe(TAPS, CHANNEL_NUM, D)
    polyphase_filter_res = polyphase_filter_bank_with_denominator_z(np_data, coe, CHANNEL_NUM, D)
    rotate_res = circular_rotate(polyphase_filter_res, CHANNEL_NUM, D)
    cut_res = cut_extra_channel_data_by_tail(np.fft.fft(np.fft.ifft(rotate_res, axis=0)), CHANNEL_NUM,D) * D / M
    plot_sub(np.fft.ifft(cut_res), CHANNEL_NUM,"DX " + str(CHANNEL_NUM) + "/" + str(D) + "X channelizer with z gcd rotate and cut result:")

Install

pip install channelizer

Or clone code

More detail and information please access curent project's pypi website

Project details


Release history Release notifications | RSS feed

This version

1.0

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

channelizers-1.0.tar.gz (19.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

channelizers-1.0-py3-none-any.whl (2.0 kB view details)

Uploaded Python 3

File details

Details for the file channelizers-1.0.tar.gz.

File metadata

  • Download URL: channelizers-1.0.tar.gz
  • Upload date:
  • Size: 19.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.8.10

File hashes

Hashes for channelizers-1.0.tar.gz
Algorithm Hash digest
SHA256 2922c5f48372fa300cf4ea6775564293ded95c50b982c95f220b5efee0019241
MD5 179f817578841ec50d242e34a3df9332
BLAKE2b-256 9f403a890bf59a9b0bf7ca9565e5dc47cfadc7cd0ec6b4eb083ffb7befa91115

See more details on using hashes here.

File details

Details for the file channelizers-1.0-py3-none-any.whl.

File metadata

  • Download URL: channelizers-1.0-py3-none-any.whl
  • Upload date:
  • Size: 2.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.8.10

File hashes

Hashes for channelizers-1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ff59e2db6b0057181a91f41befbc68fcd16d44923359350168a16e65ba954b6b
MD5 9d19d48b1af25f4897b7237378607798
BLAKE2b-256 2418f1483b12958d10e77020e1602208bc93a7d2ff37b57d9e46e7d909f5ad71

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page