Main Content

Three-Channel Wavelet Transmultiplexer

此示例显示了如何使用小波TransMultiplexer(WTM)重建通过单个通信链接传输的三个独立的合并信号。该示例说明了离散小波变换(DWT)的完美重建属性。

Introduction

This WTM combines three source signals for transmission over a single link, then separates the three signals at the receiving end of the channel. The example demonstrates a three-channel transmultiplexer, but the method can be extended to an arbitrary number of channels.

The operation of a WTM is analogous to a frequency-domain multiplexer (FDM) in several respects. In an FDM, baseband input signals are filtered and modulated into adjacent frequency bands, summed together, then transmitted over a single link. On the receiving end, the transmitted signal is filtered to separate adjacent frequency channels, and the signals are demodulated back to baseband. The filters also must strongly attenuate the adjacent signal to provide a sharp transition from the filter passband to its stopband. This step limits the amount of crosstalk, or signal leakage, from one frequency band to the next. In addition, FDM often employs an unused frequency band between the three modulated frequency bands, known as a guard band, to relax the requirements on the FDM filters.

In a WTM, the filtering performed by the synthesis and analysis wavelet filters is analogous to the filtering steps in the FDM, and the interpolation in the synthesis stage is equivalent to frequency modulation. From a frequency domain perspective, the wavelet filters are fairly poor spectral filters as compared to the filters required by a FDM implementation, exhibiting slow transitions from passband to stopband, and providing significant distortion in their response. What makes the WTM special is that the analysis and synthesis filters together completely cancel the filter distortions and signal aliasing, producing perfect reconstruction of the input signals and thus perfect extraction of the multiplexed inputs. Ideal spectral efficiency can be achieved, since no guard band is required. Practical limitations in the implementation of channel filters create out-of-band leakage and distortion. In the conventional FDM approach, each channel within the same communications system requires its own filter and is susceptible to crosstalk from neighboring channels. With the WTM method, only a single bandpass filter is required for the entire communications channel, while channel-to-channel interference is eliminated.

请注意,嘈杂的链接会导致输入信号的不完善重建,并且在FDM和WTM中,通道噪声和其他损伤的影响可能会有所不同。例如,可以通过将噪声源添加到数据链接中来建模。

Initialization

在系统对象用于处理循环之前,创建和初始化它们对获得最佳性能至关重要。

%初始化示例中使用的变量,例如标准偏差%通道噪声。加载dspwlet;%负载滤波器系数和输入信号numtimes = 14;%for-lop迭代stdnoise = .2^.5;%信道噪声的标准差

创建一个正弦波系统对象以生成通道1信号。

sine = dsp.SineWave('Frequency',FS/68,...'采样率',,,,fs,...“ SampleSperFrame”,fs*2);

为通道噪声创建一个随机数生成器流。

strN = RandStream.create('MT19937AR',,,,'种子',,,,1);

创建一个CHIRP系统对象以生成通道2信号。

chirpsignal = dsp.Chirp(...'类型',,,,'Swept cosine',,,,...“扫荡”,,,,'Bidirectional',,,,...'InitialFrequency',FS/5000,...“目标频率”,FS/50,...'TargetTime',1000,...'SweepTime',1000,...'采样率',1/ts,...“ SampleSperFrame”,fs);

创建和配置二元分析过滤器库系统对象,以分解信号。

dyadicAnalysis = dsp.DyadicAnalysisFilterBank(...“ CustomLowPassFilter”,,,,lod,...“ CustomHighPassFilter”,,,,hid,...'numlevels',,,,2 );

创建三个系统对象,用于在每个通道中插入延迟,以补偿小波组件引入的系统延迟。

delay1 = dsp.Delay(4); delay2 = dsp.Delay(6); delay3 = dsp.Delay(6);

创建并配置二元合成过滤器库系统对象,以从信号的不同子带中重建信号。

Dyadicsynthesis = DSP.Dyadicsynthesisfilterbank(...“ CustomLowPassFilter”,[0 lor],...“ CustomHighPassFilter”,[0 hir],...'numlevels',,,,2 );

Create time scope System objects to plot the original, reconstructed and error signals.

scope1 = timescope(...'姓名',,,,“三个通道WTM:原始(延迟)”,,,,...'采样率',,,,fs,...'timespansource',,,,'财产',,,,...'时间跨度',,,,8,...'ylimits',[-2 2],...“ Showlegend”, 真的);pos = scope1.position;pos(3:4)= 0.9*pos(3:4);scope1.position = [pos(1)-1.1*pos(3)pos(2:4)];scope2 = timescope(...'姓名',,,,“三个通道WTM:重建”,,,,...'Position',pos,...'采样率',,,,fs,...'timespansource',,,,'财产',,,,...'时间跨度',,,,8,...'ylimits',[-2 2],...“ Showlegend”, 真的);scope3 = timescope(...'姓名',,,,'Three Channel WTM: Error',,,,...'Position',[pos(1)+1.1*pos(3)pos(2:4)],...'采样率',,,,fs,...'timespansource',,,,'财产',,,,...'时间跨度',,,,8,...'ylimits',[-5e-11 5e-11],...“ Showlegend”, 真的);%为通道3信号创建变量。Tx_Ch3 = [ones(35,1);zeros(45,1)];%生成频道3信号

Stream Processing Loop

Create a processing loop to simulate the three channel transmultiplexer. This loop uses the System objects you instantiated above.

为了ii = 1:numtimes tx_ch1 = sine() +...stdnoise*randn(strn,fs*2,1);%生成通道1信号tx_ch1_delay = delay1(tx_ch1);tx_ch2 = chirpsignal();%生成通道2信号tx_ch2_delay = delay2(tx_ch2);tx_ch3_delay = delay3(tx_ch3);% Delayed Channel 3 signal%加入三个通道信号tx = [tx_ch1;tx_ch2;tx_ch3];%合成阶段等于频率调制。y = dyadicSynthesis(Tx);% Analysis stagerx =二聚解分析(y);%分开三个频道rx_ch1 = rx(1:160);rx_ch2 = rx(161:240);rx_ch3 = rx(241:320);% Calculate the error between TX and RX signalserr_ch1 = tx_ch1_delay -rx_ch1;err_ch2 = tx_ch2_delay -rx_ch2;err_ch3 = tx_ch3_delay -rx_ch3;%绘制结果。scope1(Tx_Ch1_delay, Tx_Ch2_delay, Tx_Ch3_delay); scope2(Rx_Ch1, Rx_Ch2, Rx_Ch3); scope3(err_Ch1, err_Ch2, err_Ch3);结尾

Summary

在此示例中,您使用了Dyadicanalysisfilterbankand二二链肌库系统对象实现小波传播器。分析和合成小波过滤器的完美重建属性可以完美提取多路复用输入。