Why do I receive a segmentation violation when I pass in an INT16/INT32 datatype into the RESAMPLE function in the Signal Processing Toolbox?
1 view (last 30 days)
Show older comments
When I type
z = int32(50*rand(10000,1));
zrs = resample(z, 10, 625);
I receive the following segmenation violation:
------------------------------------------------------------------------
Segmentation violation detected at Mon Aug 02 10:59:41 2004
------------------------------------------------------------------------
Configuration:
MATLAB Version: 7.0.0.19920 (R14)
Operating System: Microsoft Windows XP
Window System: Version 5.1 (Build 2600: Service Pack 1)
Processor ID: x86 Family 15 Model 2 Stepping 9, GenuineIntel
Virtual Machine: Java 1.4.2 with Sun Microsystems Inc. Java HotSpot(TM) Client VM
(mixed mode)
Default Charset: ibm-5348_P100-1997
Register State:
EAX = 21a7c560 EBX = 21a81750
ECX = 227502b0 EDX = 22749168
ESI = 00000010 EDI = 22749168
EBP = 00cdd174 ESP = 00cdd134
EIP = 0e901154 FLG = 00010206
Stack Trace:
[0] upfirdnmex.dll:0x0e901154(0x21cbf7a0, 0x2273ca30, 10000, 0x21a7c550)
[1] upfirdnmex.dll:0x0e9016a1(1, 0x00cdd8dc, 8, 125)
[2] libmex.dll:_mexRunMexFile(1, 0x00cdd8dc, 8, 0x00cdd93c) + 71 bytes
[3] libmex.dll:public: virtual void __thiscall Mfh_mex::dispatch_file(int,struct mxArray_tag * *,int,struct mxArray_tag * *)(1, 0x00cdd8dc, 8, 0x00cdd93c) + 157 bytes
[4] m_dispatcher.dll:public: virtual void __thiscall Mfh_file::dispatch_fh(int,struct mxArray_tag * *,int,struct mxArray_tag * *)(1, 0x00cdd8dc, 8, 0x00cdd93c) + 273 bytes
[5] m_interpreter.dll:_inDispatchFromStack(3245, 0x2a690184 "upfirdnmex", 1, 8) + 891 bytes
[6] m_interpreter.dll:enum opcodes __cdecl inDispatchCall(char const *,int,int,int,int *,int *)(0x2a690184 "upfirdnmex", 3245, 1, 8) + 111 bytes
[7] m_interpreter.dll:int __cdecl inInterp(enum inDebugCheck,int,int,enum opcodes,struct inPcodeNest_tag volatile *)(1, 368, 85, 0) + 2282 bytes
<snip>
Accepted Answer
MathWorks Support Team
on 27 Jun 2009
This bug has been fixed in Release 14 Service Pack 2 (R14SP2). For previous releases, please read below for any possible workarounds:
The RESAMPLE function in the Signal Processing Toolbox only handles double datatype variables.
To work around this issue, try converting the input signal to a double datatype using the DOUBLE function. For example,
Instead of
zrs = resample(z, 10, 625);
try
z = double(z);
zrs = resample(z, 10, 625);
0 Comments
More Answers (0)
See Also
Categories
Find more on Logical in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!