annotate util/Rice Wavelet Toolbox/SoftTh.m @ 97:3cf9714f6883

bugs from Mehrdad
author Mehrdad <myvaigha@staffmail.ed.ac.uk>
date Tue, 12 Apr 2011 15:52:30 +0100
parents f69ae88b8be5
children
rev   line source
ivan@78 1 function x = SoftTh(y,thld)
ivan@78 2 % x = SoftTh(y,thld);
ivan@78 3 %
ivan@78 4 % SOFTTH soft thresholds the input signal y with the threshold value
ivan@78 5 % thld.
ivan@78 6 %
ivan@78 7 % Input:
ivan@78 8 % y : 1D or 2D signal to be thresholded
ivan@78 9 % thld : Threshold value
ivan@78 10 %
ivan@78 11 % Output:
ivan@78 12 % x : Soft thresholded output (x = sign(y)(|y|-thld)_+)
ivan@78 13 %
ivan@78 14 % HERE'S AN EASY WAY TO RUN THE EXAMPLES:
ivan@78 15 % Cut-and-paste the example you want to run to a new file
ivan@78 16 % called ex.m, for example. Delete out the % at the beginning
ivan@78 17 % of each line in ex.m (Can use search-and-replace in your editor
ivan@78 18 % to replace it with a space). Type 'ex' in matlab and hit return.
ivan@78 19 %
ivan@78 20 %
ivan@78 21 % Example:
ivan@78 22 % y = makesig('Doppler',8);
ivan@78 23 % thld = 0.2;
ivan@78 24 % x = SoftTh(y,thld)
ivan@78 25 % x = 0 0 0 -0.0703 0 0.2001 0.0483 0
ivan@78 26 %
ivan@78 27 % See also: HardTh
ivan@78 28 %
ivan@78 29 % Reference:
ivan@78 30 % "De-noising via Soft-Thresholding" Tech. Rept. Statistics,
ivan@78 31 % Stanford, 1992. D.L. Donoho.
ivan@78 32 %
ivan@78 33
ivan@78 34 %File Name: SoftTh.m
ivan@78 35 %Last Modification Date: 8/15/95 17:49:48
ivan@78 36 %Current Version: SoftTh.m 2.4
ivan@78 37 %File Creation Date: Mon Mar 7 10:38:45 1994
ivan@78 38 %Author: Haitao Guo <harry@jazz.rice.edu>
ivan@78 39 %
ivan@78 40 %Copyright (c) 2000 RICE UNIVERSITY. All rights reserved.
ivan@78 41 %Created by Haitao Guo, Department of ECE, Rice University.
ivan@78 42 %
ivan@78 43 %This software is distributed and licensed to you on a non-exclusive
ivan@78 44 %basis, free-of-charge. Redistribution and use in source and binary forms,
ivan@78 45 %with or without modification, are permitted provided that the following
ivan@78 46 %conditions are met:
ivan@78 47 %
ivan@78 48 %1. Redistribution of source code must retain the above copyright notice,
ivan@78 49 % this list of conditions and the following disclaimer.
ivan@78 50 %2. Redistribution in binary form must reproduce the above copyright notice,
ivan@78 51 % this list of conditions and the following disclaimer in the
ivan@78 52 % documentation and/or other materials provided with the distribution.
ivan@78 53 %3. All advertising materials mentioning features or use of this software
ivan@78 54 % must display the following acknowledgment: This product includes
ivan@78 55 % software developed by Rice University, Houston, Texas and its contributors.
ivan@78 56 %4. Neither the name of the University nor the names of its contributors
ivan@78 57 % may be used to endorse or promote products derived from this software
ivan@78 58 % without specific prior written permission.
ivan@78 59 %
ivan@78 60 %THIS SOFTWARE IS PROVIDED BY WILLIAM MARSH RICE UNIVERSITY, HOUSTON, TEXAS,
ivan@78 61 %AND CONTRIBUTORS AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
ivan@78 62 %BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
ivan@78 63 %FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL RICE UNIVERSITY
ivan@78 64 %OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
ivan@78 65 %EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
ivan@78 66 %PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
ivan@78 67 %OR BUSINESS INTERRUPTIONS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
ivan@78 68 %WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
ivan@78 69 %OTHERWISE), PRODUCT LIABILITY, OR OTHERWISE ARISING IN ANY WAY OUT OF THE
ivan@78 70 %USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
ivan@78 71 %
ivan@78 72 %For information on commercial licenses, contact Rice University's Office of
ivan@78 73 %Technology Transfer at techtran@rice.edu or (713) 348-6173
ivan@78 74 %
ivan@78 75 %Change History:
ivan@78 76 %
ivan@78 77
ivan@78 78 x = abs(y);
ivan@78 79 x = sign(y).*(x >= thld).*(x - thld);