当前位置: 首页>>代码示例>>Python>>正文


Python signal.cheby1方法代码示例

本文整理汇总了Python中scipy.signal.cheby1方法的典型用法代码示例。如果您正苦于以下问题:Python signal.cheby1方法的具体用法?Python signal.cheby1怎么用?Python signal.cheby1使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在scipy.signal的用法示例。


在下文中一共展示了signal.cheby1方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: __init__

# 需要导入模块: from scipy import signal [as 别名]
# 或者: from scipy.signal import cheby1 [as 别名]
def __init__(self,M_change = 12,fcutoff=0.9,N_filt_order=8,ftype='butter'):
        """
        Object constructor method
        """
        self.M = M_change # Rate change factor M or L
        self.fc = fcutoff*.5 # must be fs/(2*M), but scale by fcutoff
        self.N_forder = N_filt_order
        if ftype.lower() == 'butter':
            self.b, self.a = signal.butter(self.N_forder,2/self.M*self.fc)
        elif ftype.lower() == 'cheby1':
            # Set the ripple to 0.05 dB
            self.b, self.a = signal.cheby1(self.N_forder,0.05,2/self.M*self.fc)
        else:
            print('ftype must be "butter" or "cheby1"') 
开发者ID:mwickert,项目名称:scikit-dsp-comm,代码行数:16,代码来源:multirate_helper.py

示例2: _test_phaseshift

# 需要导入模块: from scipy import signal [as 别名]
# 或者: from scipy.signal import cheby1 [as 别名]
def _test_phaseshift(self, method, zero_phase):
        rate = 120
        rates_to = [15, 20, 30, 40]  # q = 8, 6, 4, 3

        t_tot = int(100)  # Need to let antialiasing filters settle
        t = np.arange(rate*t_tot+1) / float(rate)

        # Sinusoids at 0.8*nyquist, windowed to avoid edge artifacts
        freqs = np.array(rates_to) * 0.8 / 2
        d = (np.exp(1j * 2 * np.pi * freqs[:, np.newaxis] * t)
             * signal.windows.tukey(t.size, 0.1))

        for rate_to in rates_to:
            q = rate // rate_to
            t_to = np.arange(rate_to*t_tot+1) / float(rate_to)
            d_tos = (np.exp(1j * 2 * np.pi * freqs[:, np.newaxis] * t_to)
                     * signal.windows.tukey(t_to.size, 0.1))

            # Set up downsampling filters, match v0.17 defaults
            if method == 'fir':
                n = 30
                system = signal.dlti(signal.firwin(n + 1, 1. / q,
                                                   window='hamming'), 1.)
            elif method == 'iir':
                n = 8
                wc = 0.8*np.pi/q
                system = signal.dlti(*signal.cheby1(n, 0.05, wc/np.pi))

            # Calculate expected phase response, as unit complex vector
            if zero_phase is False:
                _, h_resps = signal.freqz(system.num, system.den,
                                          freqs/rate*2*np.pi)
                h_resps /= np.abs(h_resps)
            else:
                h_resps = np.ones_like(freqs)

            y_resamps = signal.decimate(d.real, q, n, ftype=system,
                                        zero_phase=zero_phase)

            # Get phase from complex inner product, like CSD
            h_resamps = np.sum(d_tos.conj() * y_resamps, axis=-1)
            h_resamps /= np.abs(h_resamps)
            subnyq = freqs < 0.5*rate_to

            # Complex vectors should be aligned, only compare below nyquist
            assert_allclose(np.angle(h_resps.conj()*h_resamps)[subnyq], 0,
                            atol=1e-3, rtol=1e-3) 
开发者ID:Relph1119,项目名称:GraphicDesignPatternByPython,代码行数:49,代码来源:test_signaltools.py

示例3: am_rx_BPF

# 需要导入模块: from scipy import signal [as 别名]
# 或者: from scipy.signal import cheby1 [as 别名]
def am_rx_BPF(N_order = 7, ripple_dB = 1, B = 10e3, fs = 192e3):
    """
    Bandpass filter design for the AM receiver Case Study of Chapter 17.

    Design a 7th-order Chebyshev type 1 bandpass filter to remove/reduce
    adjacent channel intereference at the envelope detector input.
    
    Parameters
    ----------
    N_order : the filter order (default = 7)
    ripple_dB : the passband ripple in dB (default = 1)
    B : the RF bandwidth (default = 10e3)
    fs : the sampling frequency 

    Returns
    -------
    b_bpf : ndarray of the numerator filter coefficients
    a_bpf : ndarray of the denominator filter coefficients

    Examples
    --------
    >>> from scipy import signal
    >>> import numpy as np
    >>> import matplotlib.pyplot as plt
    >>> import sk_dsp_comm.sigsys as ss
    >>> # Use the default values
    >>> b_bpf,a_bpf = ss.am_rx_BPF()

    Pole-zero plot of the filter.

    >>> ss.zplane(b_bpf,a_bpf)
    >>> plt.show()

    Plot of the frequency response.

    >>> f = np.arange(0,192/2.,.1)
    >>> w, Hbpf = signal.freqz(b_bpf,a_bpf,2*np.pi*f/192)
    >>> plt.plot(f*10,20*np.log10(abs(Hbpf)))
    >>> plt.axis([0,1920/2.,-80,10])
    >>> plt.ylabel("Power Spectral Density (dB)")
    >>> plt.xlabel("Frequency (kHz)")
    >>> plt.show()
    """
    b_bpf,a_bpf = signal.cheby1(N_order,ripple_dB,2*np.array([75e3-B/2.,75e3+B/2.])/fs,'bandpass')
    return b_bpf,a_bpf 
开发者ID:mwickert,项目名称:scikit-dsp-comm,代码行数:47,代码来源:sigsys.py


注:本文中的scipy.signal.cheby1方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。