4.5

4.5 | 2 ratings Rate this file 73 downloads (last 30 days) File Size: 11.07 MB File ID: #18403

Echo Canceller Workbook targeting a dsPIC

by Kerry Schutz

 

22 Jan 2008 (Updated 17 Mar 2008)

No BSD License  

This set of models and word documents show an echo canceller development workflow.

Download Now | Watch this File

File Information
Description

The purpose of this workflow is to bring new users up to speed as quickly as possible on Simulink and Model-Based Design. It does this in the context of an echo canceller example targeted for a Microchip DSP. We concentrate on good modeling practices, C code generation, MATLAB integration in Simulink, how to target a Microchip dsPIC, and code verification using Simulink test benches. It’s important to point out that the steps required to target a dsPIC are similar to those for targeting any DSP. This workflow does all of this using an integrated set of Word files, M-files, and Simulink models. We hope you find it useful.

This echo canceller workflow is broken into a series of 10 chapters.

Required Products Signal Processing Blockset
Signal Processing Toolbox
Simulink
Real-Time Workshop Embedded Coder
Simulink Fixed Point
Fixed-Point Toolbox
Real-Time Workshop
MATLAB release MATLAB 7.4 (R2007a)
Other requirements Microchip MPLAB IDE is required for the implementation portion.
Zip File Content  
Other Files
ec_single_vs_fixed.mdl,
ec_single_vs_fixed_autoscale.mdl,
ec_single_vs_fixed_old.mdl,
ec_using_config.mdl,
echo_cancel_library_enabled.mdl,
mulaw1.mdl,
mulaw2.mdl,
must_init_outputs_in_for_loops.mdl,
playback_wav.mdl,
record_wav.mdl,
to_from_soundcard.mdl,
ec_with_mc.smf,
example_sel.txt,
exsel.txt,
rcv_in.txt,
send_in.txt,
send_out.txt,
ex_sfun_myec.tlc,
far_end.wav,
near_end.wav,
ec_ert_rtw/buildInfo.mat,
ec_ert_rtw/dci.c,
ec_ert_rtw/dci.o,
ec_ert_rtw/defines.txt,
ec_ert_rtw/dspeph_rt.h,
ec_ert_rtw/dsp_iso_math_rt.h,
ec_ert_rtw/dsp_rt.h,
ec_ert_rtw/ec.bat,
ec_ert_rtw/ec.c,
ec_ert_rtw/ec.cof,
ec_ert_rtw/ec.h,
ec_ert_rtw/ec.hex,
ec_ert_rtw/ec.map,
ec_ert_rtw/ec.mcp,
ec_ert_rtw/ec.mcs,
ec_ert_rtw/ec.mcw,
ec_ert_rtw/ec.mk,
ec_ert_rtw/ec.mptags,
ec_ert_rtw/ec.o,
ec_ert_rtw/ec.obj,
ec_ert_rtw/ec.tagsrc,
ec_ert_rtw/ec_19200.c,
ec_ert_rtw/ec_data.c,
ec_ert_rtw/ec_data.o,
ec_ert_rtw/ec_data.obj,
ec_ert_rtw/ec_IDEAL_TAP_COMPARISON.c,
ec_ert_rtw/ec_private.h,
ec_ert_rtw/ec_ref.rsp,
ec_ert_rtw/ec_sf.c,
ec_ert_rtw/ec_types.h,
ec_ert_rtw/ert_main.c,
ec_ert_rtw/ert_main.o,
ec_ert_rtw/int_pins.c,
ec_ert_rtw/int_pins.o,
ec_ert_rtw/lin2ulaw.c,
ec_ert_rtw/lin2ulaw.o,
ec_ert_rtw/main.c,
ec_ert_rtw/main.o,
ec_ert_rtw/modelsources.txt,
ec_ert_rtw/p30f6014A.gld,
ec_ert_rtw/params.h,
ec_ert_rtw/rcv_in.h,
ec_ert_rtw/rtwtypes.h,
ec_ert_rtw/rtwtypeschksum.mat,
ec_ert_rtw/rtw_proj.tmw,
ec_ert_rtw/send_in.h,
ec_ert_rtw/sout.mch,
ec_ert_rtw/timer.c,
ec_ert_rtw/timer.o,
ec_ert_rtw/traps.c,
ec_ert_rtw/traps.o,
ec_ert_rtw/ulaw2lin.c,
ec_ert_rtw/ulaw2lin.o,
Echo_Canceller_ert_rtw/buildInfo.mat,
Echo_Canceller_ert_rtw/defines.txt,
Echo_Canceller_ert_rtw/Echo_Canceller.bat,
Echo_Canceller_ert_rtw/Echo_Canceller.c,
Echo_Canceller_ert_rtw/Echo_Canceller.h,
Echo_Canceller_ert_rtw/Echo_Canceller.mk,
Echo_Canceller_ert_rtw/Echo_Canceller.obj,
Echo_Canceller_ert_rtw/Echo_Canceller_data.c,
Echo_Canceller_ert_rtw/Echo_Canceller_data.obj,
Echo_Canceller_ert_rtw/Echo_Canceller_private.h,
Echo_Canceller_ert_rtw/Echo_Canceller_ref.rsp,
Echo_Canceller_ert_rtw/Echo_Canceller_sf.c,
Echo_Canceller_ert_rtw/Echo_Canceller_types.h,
Echo_Canceller_ert_rtw/ert_main.c,
Echo_Canceller_ert_rtw/modelsources.txt,
Echo_Canceller_ert_rtw/rtwtypes.h,
Echo_Canceller_ert_rtw/rtwtypeschksum.mat,
Echo_Canceller_ert_rtw/rtw_proj.tmw,
hand_code/dci.c,
hand_code/dci.o,
hand_code/ec.c,
hand_code/ec.o,
hand_code/ec_with_init.c,
hand_code/ec_with_init.o,
hand_code/int_pins.c,
hand_code/int_pins.o,
hand_code/lin2ulaw.c,
hand_code/lin2ulaw.o,
hand_code/main.c,
hand_code/main.o,
hand_code/myec.cof,
hand_code/myec.hex,
hand_code/myec.map,
hand_code/myec.mch,
hand_code/myec.mcp,
hand_code/myec.mcs,
hand_code/myec.mcw,
hand_code/myec.mptags,
hand_code/myec.tagsrc,
hand_code/params.h,
hand_code/rcv_in.h,
hand_code/rtwtypes.h,
hand_code/send_in.h,
hand_code/spi.c,
hand_code/spi.o,
hand_code/timer.c,
hand_code/timer.o,
hand_code/traps.c,
hand_code/traps.o,
hand_code/ulaw2lin.c,
hand_code/ulaw2lin.o,
ec_fixed_setup_structures.asv,
exsel.asv,
hfk_pp.asv,
dsp_art.bmp,
tests.bmp,
trans_path.bmp,
verifications.bmp,
visualizations.bmp,
ec.c,
ec_dbl.c,
ec_single.c,
ex_sfun_myec.c,
ex_sfun_myec_dbl.c,
ex_sfun_myec_single.c,
config.h,
ec.h,
ec_dbl.h,
ec_single.h,
Thumbs.db,
trans_path.JPG,
sm_filt.mat,
ec0_sfun.mexw32,
ec_fixed_eml_16bit_sfun.mexw32,
ec_fixed_eml_simple_sfun.mexw32,
Echo_Canceller_sf.mexw32,
ex_sfun_myec.mexw32,
must_init_outputs_in_for_loops_sfun.mexw32,
ec_concept_data.m,
ec_data_concept.m,
ec_data_definitions.m,
ec_data_fixpt_sc.m,
ec_data_single.m,
ec_fixed_setup.m,
ec_fixed_setup_structures.m,
ec_load_data_dictionary.m,
ec_scopes.m,
ec_single_vs_fixed_data.m,
example_sel2html.m,
hfk_pp.m,
lms_double.m,
lms_driver.m,
lms_fixed.m,
lms_fixed_test1.m,
lms_fixed_use_emlc.m,
myec_lct_script.m,
myec_lct_script_dbl.m,
myec_lct_script_single.m,
near_to_mic_filt_ws_0p6.m,
plot_logged_data.m,
run_exsel.m,
slblocks.m,
to_header.m,
~$k_08_custom_eml.doc,
echo_canceller_workflow.doc,
hfk_01_intro_modeling.doc,
hfk_02_fixed_point.doc,
hfk_03_testbench_expand.doc,
hfk_04_codegen.doc,
hfk_05_verify1.doc,
hfk_06_verify2.doc,
hfk_07_custom_slp.doc,
hfk_08_custom_eml.doc,
hfk_09_custom_c.doc,
hfk_10_going_big.doc,
hfk_art.doc,
readme.doc,
ex_sfun_myec.mexw32.pdb,
ec_concept.mdl,
ec_config_subsys.mdl,
ec_datadict_buses.mdl,
ec_fixed_config_subsys.mdl,
ec_fixed_eml_simple.mdl,
ec_fixed_lct_tb1.mdl,
ec_fixed_packngo.mdl,
ec_fixed_slm_16bit_tb1.mdl,
ec_fixed_slm_hardcode.mdl,
ec_fixed_slm_structures.mdl,
ec_fixed_slm_verify.mdl,
ec_fixed_slm_with_bypass.mdl,
ec_fixed_slm_with_bypass_reset.mdl,
ec_fixed_slp_brute_force.mdl,
ec_fixed_slp_fb_better.mdl,
ec_fixed_slp_sb.mdl,
ec_fixed_slp_sb_autoscaled.mdl,
ec_fixed_slp_sb_with_mask.mdl,
ec_lib.mdl,
ec_playback.mdl
Tags for This File  
Everyone's Tags
Tags I've Applied
Add New Tags Please login to tag files.
Comments and Ratings (2)
05 Apr 2008 a a

Why I cann't run MPLAB project?

I receive the message:

Make: The target "D:\!!__KPI\M A G I S T R\!MATLAB_ecwf\ec_ert_rtw\dci.o" is out of date.
Executing: "C:\Program Files\Microchip\MPLAB C32\bin\pic32-gcc.exe" -mcpu=30F6014A -x c -c "dci.c" -o"dci.o" -g -Wall -O3
cc1.exe: error: invalid option `-mcpu=30F6014A'
Halting build on first failure as requested.
BUILD FAILED: Sun Apr 06 01:44:06 2008

26 Aug 2009 Lin Li

Very good project.
The docs are also very good.

Please login to add a comment or rating.
Updates
28 Jan 2008

Updated documentation

11 Mar 2008

More accurate title and an abbreviated description section

17 Mar 2008

More keywords

Tag Activity for this File
Tag Applied By Date/Time
audio processing Kerry Schutz 22 Oct 2008 09:43:29
video processing Kerry Schutz 22 Oct 2008 09:43:29
echo cancellation dspic simulink tutorial fixedpoint Kerry Schutz 22 Oct 2008 09:43:29
 

MATLAB Central Terms of Use

NOTICE: Any content you submit to MATLAB Central, including personal information, is not subject to the protections which may be afforded information collected under other sections of The MathWorks, Inc. Web site. You are entirely responsible for all content that you upload, post, e-mail, transmit or otherwise make available via MATLAB Central. The MathWorks does not control the content posted by visitors to MATLAB Central and, does not guarantee the accuracy, integrity, or quality of such content. Under no circumstances will The MathWorks be liable in any way for any content not authored by The MathWorks, or any loss or damage of any kind incurred as a result of the use of any content posted, e-mailed, transmitted or otherwise made available via MATLAB Central. Read the complete Terms prior to use.

Contact us at files@mathworks.com