diff options
author | ymherklotz <ymherklotz@gmail.com> | 2018-02-15 12:04:58 +0000 |
---|---|---|
committer | ymherklotz <ymherklotz@gmail.com> | 2018-02-15 12:04:58 +0000 |
commit | f7552f668de19e0341ac94bbc9c1ee7f502c230f (patch) | |
tree | 3d7c3f0548c65665ebc1eb0d2000599f8c7f689f /lab4/.metadata/.plugins/org.eclipse.core.resources/.history/a2/e02950c77506001814daa3a49c232c18 | |
parent | c2cea2844c962f349673e488183e6606b0a76e7b (diff) | |
download | NoiseSilencer-f7552f668de19e0341ac94bbc9c1ee7f502c230f.tar.gz NoiseSilencer-f7552f668de19e0341ac94bbc9c1ee7f502c230f.zip |
removing .metadata
Diffstat (limited to 'lab4/.metadata/.plugins/org.eclipse.core.resources/.history/a2/e02950c77506001814daa3a49c232c18')
-rw-r--r-- | lab4/.metadata/.plugins/org.eclipse.core.resources/.history/a2/e02950c77506001814daa3a49c232c18 | 153 |
1 files changed, 0 insertions, 153 deletions
diff --git a/lab4/.metadata/.plugins/org.eclipse.core.resources/.history/a2/e02950c77506001814daa3a49c232c18 b/lab4/.metadata/.plugins/org.eclipse.core.resources/.history/a2/e02950c77506001814daa3a49c232c18 deleted file mode 100644 index 9992d4a..0000000 --- a/lab4/.metadata/.plugins/org.eclipse.core.resources/.history/a2/e02950c77506001814daa3a49c232c18 +++ /dev/null @@ -1,153 +0,0 @@ -/************************************************************************************* - DEPARTMENT OF ELECTRICAL AND ELECTRONIC ENGINEERING - IMPERIAL COLLEGE LONDON - - EE 3.19: Real Time Digital Signal Processing - Dr Paul Mitcheson and Daniel Harvey - - LAB 3: Interrupt I/O - - ********* I N T I O. C ********** - - Demonstrates inputing and outputing data from the DSK's audio port using interrupts. - - ************************************************************************************* - Updated for use on 6713 DSK by Danny Harvey: May-Aug 2006 - Updated for CCS V4 Sept 10 - ************************************************************************************/ -/* - * You should modify the code so that interrupts are used to service the - * audio port. - */ -/**************************** Pre-processor statements ******************************/ - -#include <stdlib.h> -// Included so program can make use of DSP/BIOS configuration tool. -#include "dsp_bios_cfg.h" - -/* The file dsk6713.h must be included in every program that uses the BSL. This - example also includes dsk6713_aic23.h because it uses the - AIC23 codec module (audio interface). */ -#include "dsk6713.h" -#include "dsk6713_aic23.h" - -// math library (trig functions) -#include <math.h> - -// Some functions to help with writing/reading the audio ports when using interrupts. -#include <helper_functions_ISR.h> -#include "Matlab/filter_coeff.txt" -// Some functions to help with configuring hardware -#include "helper_functions_polling.h" - - -// PI defined here for use in your code -#define PI 3.141592653589793 -#define N 249 -double buffer[N]; -unsigned int ptr = N-1; - -/******************************* Global declarations ********************************/ - -/* Audio port configuration settings: these values set registers in the AIC23 audio - interface to configure it. See TI doc SLWS106D 3-3 to 3-10 for more info. */ -DSK6713_AIC23_Config Config = { \ - /**********************************************************************/ - /* REGISTER FUNCTION SETTINGS */ - /**********************************************************************/\ - 0x0017, /* 0 LEFTINVOL Left line input channel volume 0dB */\ - 0x0017, /* 1 RIGHTINVOL Right line input channel volume 0dB */\ - 0x01f9, /* 2 LEFTHPVOL Left channel headphone volume 0dB */\ - 0x01f9, /* 3 RIGHTHPVOL Right channel headphone volume 0dB */\ - 0x0011, /* 4 ANAPATH Analog audio path control DAC on, Mic boost 20dB*/\ - 0x0000, /* 5 DIGPATH Digital audio path control All Filters off */\ - 0x0000, /* 6 DPOWERDOWN Power down control All Hardware on */\ - 0x0043, /* 7 DIGIF Digital audio interface format 16 bit */\ - 0x008d, /* 8 SAMPLERATE Sample rate control 8 KHZ */\ - 0x0001 /* 9 DIGACT Digital interface activation On */\ - /**********************************************************************/ -}; - - -// Codec handle:- a variable used to identify audio interface -DSK6713_AIC23_CodecHandle H_Codec; - - /******************************* Function prototypes ********************************/ -void init_hardware(void); -void init_HWI(void); -void ISR_AIC(void); -short non_circ_fir(void); -/********************************** Main routine ************************************/ -void main(){ - // initialize board and the audio port - init_hardware(); - - /* initialize hardware interrupts */ - init_HWI(); - - /* loop indefinitely, waiting for interrupts */ - while(1) {}; -} - -/********************************** init_hardware() **********************************/ -void init_hardware() -{ - // Initialize the board support library, must be called first - DSK6713_init(); - - // Start the AIC23 codec using the settings defined above in config - H_Codec = DSK6713_AIC23_openCodec(0, &Config); - - /* Function below sets the number of bits in word used by MSBSP (serial port) for - receives from AIC23 (audio port). We are using a 32 bit packet containing two - 16 bit numbers hence 32BIT is set for receive */ - MCBSP_FSETS(RCR1, RWDLEN1, 32BIT); - - /* Configures interrupt to activate on each consecutive available 32 bits - from Audio port hence an interrupt is generated for each L & R sample pair */ - MCBSP_FSETS(SPCR1, RINTM, FRM); - - /* These commands do the same thing as above but applied to data transfers to - the audio port */ - MCBSP_FSETS(XCR1, XWDLEN1, 32BIT); - MCBSP_FSETS(SPCR1, XINTM, FRM); -} - -/********************************** init_HWI() **************************************/ -void init_HWI() -{ - IRQ_globalDisable(); // Globally disables interrupts - IRQ_nmiEnable(); // Enables the NMI interrupt (used by the debugger) - IRQ_map(IRQ_EVT_RINT1,4); // Maps an event to a physical interrupt - IRQ_enable(IRQ_EVT_RINT1); // Enables the event - IRQ_globalEnable(); // Globally enables interrupts -} - -/******************** INTERRUPT SERVICE ROUTINE ***********************/ -void ISR_AIC() -{ - short sample_in, sample_out; - - sample_in = mono_read_16Bit(); - buffer[ptr] = (float) sample_in / 32767.f; - sample_out = non_circ_fir(); - mono_write_16Bit(sample_out); - - ptr--; - if (ptr == 0) - ptr = N-1; -} - -// Perform linear convolution -short non_circ_fir() -{ - - double y = 0; - int M, i; - M = sizeof(b) / sizeof(b[0]); - for(i = 0; i < N; i++) { - y += buffer[i] * b[M-i-1]; - } - return y*32767; -} - |