Search:
MATLAB Central
File Exchange
Answers
Newsgroup
Link Exchange
Blogs
Trendy
Cody
Contest
MathWorks.com
Create Account
Log In
File Exchange
Answers
Newsgroup
Link Exchange
Blogs
Trendy
Cody
Contest
MathWorks.com
Download Submission
Code covered by the
BSD License
Highlights from
MATLAB for Digital Communication
AI=inv_GF2(A)
H_est=channel_estimate(X,y)
X = Known frequency-domain training symbol
I=Gauss_Hermite(f,N,varargin)
Refer to 'Applied Numerical Methods Using MATLAB' by Won Yang et. al
IFO_est=IFO_estimate(y,X,IFO_...
To estimate the IFO (Integral Frequency Offset)
M=combis(N,i)
Creates an error pattern matrix each row of which is an N-dimensional
PRS=phase_ref_symbol()
PSK_slicer(x,M)
Converts received signal points into regular PSK points by its angle
Sk=Sk_CTFS(k,D)
[CR,DR,Nbpsc,Ncbps,Ndbps,pun_...
[H,G]=Hamm_gen(m,opt)
Generates the parity-check/generator matrices for Hamming Code.
[J,JJ]=Jkb(K,beta)
The 1st kind of kth-order Bessel function
[Xk,kk,xht,tt]=CTFS(x,P,N,ng)
[Xk,kk,xht,tt]=CTFT(x,D,ng)
[c,b]=dfe(c,b,ys,ds,e,delta)
updates decision feedback equalizer(DFE) coefficients
[c,se]=ade(c,y,a,delta)
adaptive equalizer
[code,dictionary,w]=LZW_code(...
LZW coding algorithm
[codebook,class,quant_errs]=v...
Finds a KxN codebook representing the samples in an MxN data matrix X,
[d,dcode]=adc(a,b,c,code_tabl...
Analog-to-Digital Conversion
[decode,dictionary]=LZW_decod...
Lempel-Ziv-Welch decoding algorithm
[decoded_seq,dictionary]=LZW_...
Lempel-Ziv-Welch decoding procedure
[decodes,E,epi]=cyclic_decode...
Cyclic (N,K) decoding of received code_seq with generator polynml g
[gM,m]=gm2gM(gm)
Convert into PNG polynomial description used by Simulink -Eq.(10.1.2)
[g_code,b_code]=gray_code(b)
[h,L,H]=Huffman_code(p,opt)
Huffman code generator gives a Huffman code matrix h,
[long_preamble,Xl]=long_train...
[nxb,yb]=state_eq(xb,u,G)
To be used as a subroutine for conv_encoder()
[output,state]=TCM_encoder(st...
Generates the output sequence of a binary TCM encoder
[output,state]=conv_encoder(G...
generates the output sequence of a binary convolutional encoder
[outputs,state]=TCM_encoder1(...
generates the output sequence of a binary TCM encoder
[pemb,nombe,notmb]=TCM(state_...
Copyleft: Won Y. Yang, wyyang53@hanmail.net, CAU for academic use only
[pemb,nombe,notmb]=TCM1(Gc,Co...
[pemb,nombe,notmb]=Viterbi_QA...
Constraint length vector
[phi,lags]=xcorr_my(x,y,opt)
computes the crosscorrelation of two vectors x and y by Eq.(2.1.61)
[s1,x]=TCM_state_eq0(s,u,Cons...
State equation for the TCM_encoder in Fig. 9.14(a)
[s1,x]=TCM_state_eq1(s,u,Cons...
[short_preamble,Xs]=short_tra...
[t,w]=Gausshp(N)
[xqhn,P,a]=prdctr(en,xqs,M,P,...
One-step-ahead predictor based on RLSE
[y,xmax]=Alaw(x,A,ymax)
[y,xmax]=mulaw(x,mu,ymax)
a=slice(x,A)
bitseq=QAM_dem(qamseq,b,bpsym...
BPSK demodulation
c=PNG(gm,Kc,x)
generates an m-sequence from a feedback-shift register if Kc=0
c=mmsee(y,a,K,d)
c=zfe(g,K,d)
channel(x,h,ch_buf)
coarse_CFO_estimate(tx,NB,Nw,...
coded_seq=LZW_coding(src,dict...
Lempel-Ziv-Welch encoding procedure
coded_seq=source_coding(src,s...
Encode a data sequence src based on the given (symbols,codewords).
compensate_CFO(tx,CFO_est,Nff...
CFO_est = Estimated carrier frequency offset
cyclic_encoder(msg_seq,N,K,g)
Cyclic (N,K) encoding of input msg_seq m with generator polynomial g
d=detector_FSK(z2s)
d=detector_MSK(dth)
d=detector_PSK(th,M)
dc0301_3(U_or_L)
simulates USSB/LSSB-AM depending on the value of USSB_or_LSSB=0/1
decoded_seq=TCM_decoder(state...
Performs the Viterbi algorithm on the PSK demodulated signal
decoded_seq=TCM_decoder1(Gc,d...
performs the Viterbi algorithm on the PSK demodulated signal
decoded_seq=source_decoding(c...
Decode a coded_seq based on the given (codewords,symbols).
decoded_seq=vit_decoder(G,K,d...
performs the Viterbi algorithm on detected to get the decoded_seq
demodulated=dem_PSK_or_QAM(in...
demodulated=demodulate_PSK_or...
demultiplex(r,map,puncture)
Copyright 1998, Yufei Wu, MPRG lab, Virginia Tech. for academic use
depuncture(pun,punc_vector)
Insert zeros into the punctured position of pun as specified by punc_vector
do_Hamming_code74(SNRbdB,MaxI...
encoderm(m,G,map,puncture)
Copyright 1998, Yufei Wu, MPRG lab, Virginia Tech. for academic use
equalizer_in_freq(Y,H_est)
f5252(x,SNRb,b)
f5252_0(x,SNRb,b)
f=I0(beta)
Bessel function of order 0
f=Rice_pdf(x,A,sigma)
Rice density function
fine_CFO_estimate(tx,coarse_C...
g_code=gray_code0(g_code)
logmap(Ly,G,Lu,ind_dec)
Copyright 1998, Yufei Wu, MPRG lab, Virginia Tech. for academic use
modulated=mod_PSK_or_QAM(in,b...
Set Kg=1 to see the normal constellation diagram
modulated=modulate_PSK_or_QAM...
Set Kg=1 to see the normal constellation diagram
p=Hermitp(N)
p=prob_error(SNRbdB,signaling...
Finds the symbol/bit error probability for given SNRbdB (Table 7.1)
pemb_t=prob_err_msg_bit(et,N,...
phase_estimate=phase_from_pil...
To estimate the phase offset based on the received pilot symbol
plot_MOD(T,lt,msg,modul,demod...
plots AM signals and their spectra
puncture(un_pun, punc_vector)
Puncture the bits of un_pun as specified by with punc_vector
qamseq=QAM(bitseq,b)
2^b-QAM modulation
rsc_encode(G,m,termination)
Copyright 1998, Yufei Wu, MPRG lab, Virginia Tech. for academic use
set_CFO(tx,CFO,phase,Nfft,STO...
CFO/phase = pseudo Carrier frequency/phase offset (pretended)
sim_SSB_AM(U_or_L)
simulates USSB/LSSB-AM depending on the value of USSB_or_LSSB=0/1
sova(Ly,G,Lu,ind_dec)
Copyright: Yufei Wu, 1998, MPRG lab, Virginia Tech for academic use
sym_vc=add_vc(symbol,pm)
sym_vc_removed=remove_vc(sym_...
th=principal_frequency(th,thl...
trellis(G)
copyright 1998, Yufei Wu, MPRG lab, Virginia Tech for academic use
vhat=LDPC_decoder(H,Lcy)
Performs an LDPC decoding with given parity-check matrix H and Lc*y
x=Alaw_inv(y,A,xmax)
x=cyclic_decoder0(r,N,K,g)
Cyclic (N,K) decoding of an N-bit code r with generator polynomial g
x=deinterleaving(y,Nrow,Ncbps...
x=mulaw_inv(y,mu,xmax)
x=rD(t)
x=rD_wave(t)
x=tri(t)
x=tri_wave(t)
xl=rotate_l(x,M)
y=Q(x)
y=QAM4_slicer(x)
To find one of 4-QAM symbols which is the closest to x
y=awgn_(x,SNRdB,sigpowerdB)
y=compensate_phase(x,phase)
To compensate the received OFDM symbol x by phase deviation
y=deci2bin1(x,l)
Converts a given decimal number x into a binary number of l bits
y=interleaving(x,Nrow,Ncbps,N...
y_dec=decoder(y,code_table)
z=corr_circular(x,y,N)
DS_SS.m
FH_SS.m
FH_SS2.m
LDPC_demo.m
cir09e05.m
dc0109_1.m
dc0109_2.m
dc01e01.m
dc01e03.m
dc01e16.m
dc01e17.m
dc01p02.m
dc02e02a.m
dc02e02b.m
dc02e03.m
dc02e05.m
dc02f05.m
dc02p01.m
dc0301_1.m
dc0301_2.m
dc040e03.m
dc0501.m
dc05f17.m
dc0701_1.m
dc07p01.m
dc09p07.m
do_BCH_BPSK_sim.m
do_CFO.m
do_CFO_PHO_STO.m
do_FSK_sim.m
do_MSK_sim.m
do_OFDM0.m
do_OFDM1.m
do_PNG.m
do_PSK_sim.m
do_QAM_sim.m
do_STO.m
do_STO_estimation.m
do_TCM_8PSK.m
do_Viterbi_QAM.m
do_ade.m
do_channel_estimation.m
do_cyclic_code.m
do_cyclic_codes.m
do_dfe.m
do_interleaving.m
do_mmsee.m
do_nonuniform_quantization.m
do_puncture.m
do_rcos1.m
do_rcos2.m
do_square_filter_clock.m
do_sync_for_DMB.m
do_sync_w_double_window.m
do_uniform_quantization.m
do_vector_quantization.m
do_vitdecoder.m
do_vitdecoder1.m
do_zfe.m
plot_ds_ss.m
quantize_nonuniform.m
quantize_uniform.m
set_parameter_11a.m
sim_ASK_bandpass_coherent.m
sim_ASK_bandpass_noncoherent.m
sim_DM.m
sim_DPCM.m
sim_DPSK_passband.m
sim_DSB_AMSC.m
sim_DSB_AMTC.m
sim_Delta_Sigma.m
sim_FM.m
sim_FSK_bandpass_coherent.m
sim_FSK_bandpass_noncoherent.m
sim_MSK.m
sim_OQPSK.m
sim_PCM.m
sim_PLL.m
sim_PM.m
sim_PSK_passband.m
sim_QAM_carrier_recovery.m
sim_QAM_passband.m
sim_QPSK_Costas.m
sim_QPSK_Costas_earlylate.m
sim_S_QDPSK.m
sim_TCM.m
sim_antipodal.m
sim_biorthogonal.m
sim_orthogonal.m
sim_squaring_loop.m
sim_sym_sync_earlylate.m
start_PSK_carrier_phase_timin...
test_DSTBC_G2_PSK.m
test_DSTBC_H4_PSK.m
test_Rayleigh_fading.m
test_corr_circular.m
test_encode_decode.m
test_unwrap.m
turbo_code_demo.m
View all files
from
MATLAB for Digital Communication
by
Won Yang
The MATLAB programs in "MATLAB/Simulink for Digital Communication" authored by Won Y. Yang et. al
a=slice(x,A)
function a=slice(x,A) [Am,Im]=min(abs(A-x)); a=A(Im);
Contact us