Why do I receive a segmentation violation when I pass in an INT16/INT32 datatype into the RESAMPLE function in the Signal Processing Toolbox? 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
Prashant Kumar answered .
2025-11-20
zrs = resample(z, 10, 625);
try,
z = double(z); zrs = resample(z, 10, 625);